aboutsummaryrefslogtreecommitdiff
path: root/src/async-wrap-inl.h
diff options
context:
space:
mode:
authorTrevor Norris <trev.norris@gmail.com>2016-11-22 17:01:02 -0700
committerTrevor Norris <trev.norris@gmail.com>2016-12-01 16:48:45 -0700
commit517e3a642552679c855595baeff46ff81720fae4 (patch)
tree3960fb91af0a47bed907229da87a58529bd3dfa8 /src/async-wrap-inl.h
parent18016d3b3fd27fd2744a17a54f15631af6206df1 (diff)
downloadandroid-node-v8-517e3a642552679c855595baeff46ff81720fae4.tar.gz
android-node-v8-517e3a642552679c855595baeff46ff81720fae4.tar.bz2
android-node-v8-517e3a642552679c855595baeff46ff81720fae4.zip
async_wrap: mode constructor/destructor to .cc
The constructor and destructor shouldn't have been placed in the -inl.h file from the beginning. PR-URL: https://github.com/nodejs/node/pull/9753 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'src/async-wrap-inl.h')
-rw-r--r--src/async-wrap-inl.h71
1 files changed, 0 insertions, 71 deletions
diff --git a/src/async-wrap-inl.h b/src/async-wrap-inl.h
index 85e31b1ed0..64b5f09161 100644
--- a/src/async-wrap-inl.h
+++ b/src/async-wrap-inl.h
@@ -15,77 +15,6 @@
namespace node {
-inline AsyncWrap::AsyncWrap(Environment* env,
- v8::Local<v8::Object> object,
- ProviderType provider,
- AsyncWrap* parent)
- : BaseObject(env, object), bits_(static_cast<uint32_t>(provider) << 1),
- uid_(env->get_async_wrap_uid()) {
- CHECK_NE(provider, PROVIDER_NONE);
- CHECK_GE(object->InternalFieldCount(), 1);
-
- // Shift provider value over to prevent id collision.
- persistent().SetWrapperClassId(NODE_ASYNC_ID_OFFSET + provider);
-
- v8::Local<v8::Function> init_fn = env->async_hooks_init_function();
-
- // No init callback exists, no reason to go on.
- if (init_fn.IsEmpty())
- return;
-
- // If async wrap callbacks are disabled and no parent was passed that has
- // run the init callback then return.
- if (!env->async_wrap_callbacks_enabled() &&
- (parent == nullptr || !parent->ran_init_callback()))
- return;
-
- v8::HandleScope scope(env->isolate());
-
- v8::Local<v8::Value> argv[] = {
- v8::Number::New(env->isolate(), get_uid()),
- v8::Int32::New(env->isolate(), provider),
- Null(env->isolate()),
- Null(env->isolate())
- };
-
- if (parent != nullptr) {
- argv[2] = v8::Number::New(env->isolate(), parent->get_uid());
- argv[3] = parent->object();
- }
-
- v8::TryCatch try_catch(env->isolate());
-
- v8::MaybeLocal<v8::Value> ret =
- init_fn->Call(env->context(), object, arraysize(argv), argv);
-
- if (ret.IsEmpty()) {
- ClearFatalExceptionHandlers(env);
- FatalException(env->isolate(), try_catch);
- }
-
- bits_ |= 1; // ran_init_callback() is true now.
-}
-
-
-inline AsyncWrap::~AsyncWrap() {
- if (!ran_init_callback())
- return;
-
- v8::Local<v8::Function> fn = env()->async_hooks_destroy_function();
- if (!fn.IsEmpty()) {
- v8::HandleScope scope(env()->isolate());
- v8::Local<v8::Value> uid = v8::Number::New(env()->isolate(), get_uid());
- v8::TryCatch try_catch(env()->isolate());
- v8::MaybeLocal<v8::Value> ret =
- fn->Call(env()->context(), v8::Null(env()->isolate()), 1, &uid);
- if (ret.IsEmpty()) {
- ClearFatalExceptionHandlers(env());
- FatalException(env()->isolate(), try_catch);
- }
- }
-}
-
-
inline bool AsyncWrap::ran_init_callback() const {
return static_cast<bool>(bits_ & 1);
}