/c_src/erlv8_taint.cc

http://github.com/beamjs/erlv8 · C++ · 21 lines · 19 code · 2 blank · 0 comment · 0 complexity · 0c7e4878a6df121510c67c3ea4886f5b MD5 · raw file

  1. #include "erlv8.hh"
  2. TickHandler(TaintTickHandler) {
  3. TRACE("(%p) tain - 1\n", vm->isolate);
  4. ErlNifEnv *ref_env = enif_alloc_env();
  5. TRACE("(%p) tain - 2\n", vm->isolate);
  6. ERL_NIF_TERM taint_ref = enif_make_copy(ref_env, tick_ref);
  7. TRACE("(%p) tain - 3\n", vm->isolate);
  8. LHCS(vm->isolate, vm->context);
  9. TRACE("(%p) tain - 4\n", vm->isolate);
  10. SEND(vm->server,
  11. enif_make_tuple3(env,
  12. enif_make_atom(env,"result"),
  13. enif_make_copy(env,taint_ref),
  14. js_to_term(vm->context, vm->isolate, env,term_to_js(vm->context, vm->isolate,vm->env, array[1]))));
  15. enif_free_env(ref_env);
  16. TickHandlerResolution result;
  17. result.type = DONE;
  18. return result;
  19. }