summaryrefslogtreecommitdiff
path: root/test/gc/node_modules/weak/src/weakref.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/gc/node_modules/weak/src/weakref.cc')
-rw-r--r--test/gc/node_modules/weak/src/weakref.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/test/gc/node_modules/weak/src/weakref.cc b/test/gc/node_modules/weak/src/weakref.cc
index c2267a070..690614286 100644
--- a/test/gc/node_modules/weak/src/weakref.cc
+++ b/test/gc/node_modules/weak/src/weakref.cc
@@ -134,8 +134,8 @@ void AddCallback(Handle<Object> proxy, Handle<Function> callback) {
}
-void TargetCallback(Persistent<Value> target, void* arg) {
- HandleScope scope;
+void TargetCallback(Isolate* isolate, Persistent<Value> target, void* arg) {
+ HandleScope scope(isolate);
assert(target.IsNearDeath());
@@ -187,7 +187,9 @@ Handle<Value> Create(const Arguments& args) {
cont->proxy = Persistent<Object>::New(proxyClass->NewInstance());
cont->proxy->SetAlignedPointerInInternalField(0, cont);
- cont->target.MakeWeak(cont, TargetCallback);
+ cont->target.MakeWeak(Isolate::GetCurrent(),
+ static_cast<void*>(cont),
+ TargetCallback);
if (args.Length() >= 2) {
AddCallback(cont->proxy, Handle<Function>::Cast(args[1]));