/c_src/erlv8_internal.cc

http://github.com/beamjs/erlv8 · C++ · 22 lines · 19 code · 3 blank · 0 comment · 1 complexity · bda7d40d56bddae83874d5fd9dc0543d MD5 · raw file

  1. #include "erlv8.hh"
  2. TickHandler(InternalCountTickHandler) {
  3. ErlNifEnv *ref_env = enif_alloc_env();
  4. ERL_NIF_TERM get_ref = enif_make_copy(ref_env, tick_ref);
  5. val_res_t *obj_res;
  6. if (enif_get_resource(vm->env,array[1],val_resource,(void **)(&obj_res))) {
  7. LHCS(vm->isolate, obj_res->ctx);
  8. int ifc = obj_res->val->ToObject()->InternalFieldCount();
  9. SEND(vm->server,
  10. enif_make_tuple3(env,
  11. enif_make_atom(env,"result"),
  12. enif_make_copy(env,get_ref),
  13. enif_make_int(env, ifc)));
  14. }
  15. enif_free_env(ref_env);
  16. TickHandlerResolution result;
  17. result.type = DONE;
  18. return result;
  19. }