diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2015-05-28 21:11:12 +0200 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2015-05-28 21:48:44 +0200 |
commit | 3a1bc067d467c54853747e1697c7c1bcc010aae1 (patch) | |
tree | 7acfb59e000df4581c73974ceaffb05887d2dbc9 /src/async-wrap-inl.h | |
parent | a77c330c32fc1c2ffd5069e3ca57e4d3478b2e5e (diff) | |
download | android-node-v8-3a1bc067d467c54853747e1697c7c1bcc010aae1.tar.gz android-node-v8-3a1bc067d467c54853747e1697c7c1bcc010aae1.tar.bz2 android-node-v8-3a1bc067d467c54853747e1697c7c1bcc010aae1.zip |
Revert "core: set PROVIDER type as Persistent class id"
This reverts commit 3c44100558b4e9e48e0e711e38acc91e0f870a9f.
Reverted for breaking node-heapdump[0].
AsyncWrap assigns a class id but does not set a v8::RetainedObjectInfo
provider callback with v8::HeapProfiler::SetWrapperClassInfoProvider().
The result is a null pointer dereference when taking a heap snapshot.
It can probably be solved by setting a generic provider callback inside
the AsyncWrap constructor but that may have performance ramifications
that need to be investigated first. I move to revert it for now.
[0] https://github.com/bnoordhuis/node-heapdump
PR-URL: https://github.com/nodejs/io.js/pull/1827
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Diffstat (limited to 'src/async-wrap-inl.h')
-rw-r--r-- | src/async-wrap-inl.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/async-wrap-inl.h b/src/async-wrap-inl.h index 0518cd3b7c..bad634ddaf 100644 --- a/src/async-wrap-inl.h +++ b/src/async-wrap-inl.h @@ -17,8 +17,7 @@ inline AsyncWrap::AsyncWrap(Environment* env, v8::Handle<v8::Object> object, ProviderType provider, AsyncWrap* parent) - : BaseObject(env, object, provider), - bits_(static_cast<uint32_t>(provider) << 1) { + : BaseObject(env, object), bits_(static_cast<uint32_t>(provider) << 1) { // Check user controlled flag to see if the init callback should run. if (!env->using_asyncwrap()) return; |