| Index: test/cctest/test-api.cc
|
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
|
| index 11d9fcaba8505908ba6c96c600f929ad540b656a..ffc7831dcbcf79901b1395277ef949361bc8102c 100644
|
| --- a/test/cctest/test-api.cc
|
| +++ b/test/cctest/test-api.cc
|
| @@ -2509,12 +2509,11 @@ class WeakCallCounter {
|
|
|
|
|
| static void WeakPointerCallback(v8::Isolate* isolate,
|
| - Persistent<Value> handle,
|
| - void* id) {
|
| - WeakCallCounter* counter = reinterpret_cast<WeakCallCounter*>(id);
|
| + Persistent<Object>* handle,
|
| + WeakCallCounter* counter) {
|
| CHECK_EQ(1234, counter->id());
|
| counter->increment();
|
| - handle.Dispose(isolate);
|
| + handle->Dispose(isolate);
|
| }
|
|
|
|
|
| @@ -2537,16 +2536,16 @@ THREADED_TEST(OldApiObjectGroups) {
|
| g1s1 = Persistent<Object>::New(iso, Object::New());
|
| g1s2 = Persistent<Object>::New(iso, Object::New());
|
| g1c1 = Persistent<Object>::New(iso, Object::New());
|
| - g1s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g1s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g1c1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g1s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g1s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g1c1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
|
|
| g2s1 = Persistent<Object>::New(iso, Object::New());
|
| g2s2 = Persistent<Object>::New(iso, Object::New());
|
| g2c1 = Persistent<Object>::New(iso, Object::New());
|
| - g2s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g2s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g2c1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g2s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g2s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g2c1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| }
|
|
|
| Persistent<Object> root = Persistent<Object>::New(iso, g1s1); // make a root.
|
| @@ -2572,7 +2571,7 @@ THREADED_TEST(OldApiObjectGroups) {
|
| CHECK_EQ(0, counter.NumberOfWeakCalls());
|
|
|
| // Weaken the root.
|
| - root.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + root.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| // But make children strong roots---all the objects (except for children)
|
| // should be collectable now.
|
| g1c1.ClearWeak(iso);
|
| @@ -2596,8 +2595,8 @@ THREADED_TEST(OldApiObjectGroups) {
|
| CHECK_EQ(5, counter.NumberOfWeakCalls());
|
|
|
| // And now make children weak again and collect them.
|
| - g1c1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g2c1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g1c1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g2c1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
|
|
| HEAP->CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask);
|
| CHECK_EQ(7, counter.NumberOfWeakCalls());
|
| @@ -2623,16 +2622,16 @@ THREADED_TEST(ApiObjectGroups) {
|
| g1s1 = Persistent<Object>::New(iso, Object::New());
|
| g1s2 = Persistent<Object>::New(iso, Object::New());
|
| g1c1 = Persistent<Object>::New(iso, Object::New());
|
| - g1s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g1s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g1c1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g1s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g1s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g1c1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
|
|
| g2s1 = Persistent<Object>::New(iso, Object::New());
|
| g2s2 = Persistent<Object>::New(iso, Object::New());
|
| g2c1 = Persistent<Object>::New(iso, Object::New());
|
| - g2s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g2s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g2c1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g2s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g2s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g2c1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| }
|
|
|
| Persistent<Object> root = Persistent<Object>::New(iso, g1s1); // make a root.
|
| @@ -2660,7 +2659,7 @@ THREADED_TEST(ApiObjectGroups) {
|
| CHECK_EQ(0, counter.NumberOfWeakCalls());
|
|
|
| // Weaken the root.
|
| - root.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + root.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| // But make children strong roots---all the objects (except for children)
|
| // should be collectable now.
|
| g1c1.ClearWeak(iso);
|
| @@ -2684,8 +2683,8 @@ THREADED_TEST(ApiObjectGroups) {
|
| CHECK_EQ(5, counter.NumberOfWeakCalls());
|
|
|
| // And now make children weak again and collect them.
|
| - g1c1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g2c1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g1c1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g2c1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
|
|
| heap->CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask);
|
| CHECK_EQ(7, counter.NumberOfWeakCalls());
|
| @@ -2712,29 +2711,29 @@ THREADED_TEST(OldApiObjectGroupsCycle) {
|
| HandleScope scope(iso);
|
| g1s1 = Persistent<Object>::New(iso, Object::New());
|
| g1s2 = Persistent<Object>::New(iso, Object::New());
|
| - g1s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g1s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g1s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g1s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| CHECK(g1s1.IsWeak(iso));
|
| CHECK(g1s2.IsWeak(iso));
|
|
|
| g2s1 = Persistent<Object>::New(iso, Object::New());
|
| g2s2 = Persistent<Object>::New(iso, Object::New());
|
| - g2s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g2s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g2s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g2s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| CHECK(g2s1.IsWeak(iso));
|
| CHECK(g2s2.IsWeak(iso));
|
|
|
| g3s1 = Persistent<Object>::New(iso, Object::New());
|
| g3s2 = Persistent<Object>::New(iso, Object::New());
|
| - g3s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g3s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g3s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g3s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| CHECK(g3s1.IsWeak(iso));
|
| CHECK(g3s2.IsWeak(iso));
|
|
|
| g4s1 = Persistent<Object>::New(iso, Object::New());
|
| g4s2 = Persistent<Object>::New(iso, Object::New());
|
| - g4s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g4s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g4s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g4s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| CHECK(g4s1.IsWeak(iso));
|
| CHECK(g4s2.IsWeak(iso));
|
| }
|
| @@ -2769,7 +2768,7 @@ THREADED_TEST(OldApiObjectGroupsCycle) {
|
| CHECK_EQ(0, counter.NumberOfWeakCalls());
|
|
|
| // Weaken the root.
|
| - root.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + root.MakeWeak(iso, &counter, &WeakPointerCallback);
|
|
|
| // Groups are deleted, rebuild groups.
|
| {
|
| @@ -2818,29 +2817,29 @@ THREADED_TEST(ApiObjectGroupsCycle) {
|
| HandleScope scope(iso);
|
| g1s1 = Persistent<Object>::New(iso, Object::New());
|
| g1s2 = Persistent<Object>::New(iso, Object::New());
|
| - g1s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g1s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g1s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g1s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| CHECK(g1s1.IsWeak(iso));
|
| CHECK(g1s2.IsWeak(iso));
|
|
|
| g2s1 = Persistent<Object>::New(iso, Object::New());
|
| g2s2 = Persistent<Object>::New(iso, Object::New());
|
| - g2s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g2s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g2s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g2s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| CHECK(g2s1.IsWeak(iso));
|
| CHECK(g2s2.IsWeak(iso));
|
|
|
| g3s1 = Persistent<Object>::New(iso, Object::New());
|
| g3s2 = Persistent<Object>::New(iso, Object::New());
|
| - g3s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g3s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g3s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g3s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| CHECK(g3s1.IsWeak(iso));
|
| CHECK(g3s2.IsWeak(iso));
|
|
|
| g4s1 = Persistent<Object>::New(iso, Object::New());
|
| g4s2 = Persistent<Object>::New(iso, Object::New());
|
| - g4s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g4s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g4s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g4s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| CHECK(g4s1.IsWeak(iso));
|
| CHECK(g4s2.IsWeak(iso));
|
| }
|
| @@ -2877,7 +2876,7 @@ THREADED_TEST(ApiObjectGroupsCycle) {
|
| CHECK_EQ(0, counter.NumberOfWeakCalls());
|
|
|
| // Weaken the root.
|
| - root.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + root.MakeWeak(iso, &counter, &WeakPointerCallback);
|
|
|
| // Groups are deleted, rebuild groups.
|
| {
|
| @@ -2928,18 +2927,18 @@ TEST(OldApiObjectGroupsCycleForScavenger) {
|
| HandleScope scope(iso);
|
| g1s1 = Persistent<Object>::New(iso, Object::New());
|
| g1s2 = Persistent<Object>::New(iso, Object::New());
|
| - g1s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g1s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g1s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g1s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
|
|
| g2s1 = Persistent<Object>::New(iso, Object::New());
|
| g2s2 = Persistent<Object>::New(iso, Object::New());
|
| - g2s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g2s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g2s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g2s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
|
|
| g3s1 = Persistent<Object>::New(iso, Object::New());
|
| g3s2 = Persistent<Object>::New(iso, Object::New());
|
| - g3s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g3s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g3s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g3s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| }
|
|
|
| // Make a root.
|
| @@ -2973,7 +2972,7 @@ TEST(OldApiObjectGroupsCycleForScavenger) {
|
| CHECK_EQ(0, counter.NumberOfWeakCalls());
|
|
|
| // Weaken the root.
|
| - root.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + root.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| root.MarkPartiallyDependent(iso);
|
|
|
| v8::Isolate* isolate = v8::Isolate::GetCurrent();
|
| @@ -3025,18 +3024,18 @@ TEST(ApiObjectGroupsCycleForScavenger) {
|
| HandleScope scope(iso);
|
| g1s1 = Persistent<Object>::New(iso, Object::New());
|
| g1s2 = Persistent<Object>::New(iso, Object::New());
|
| - g1s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g1s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g1s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g1s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
|
|
| g2s1 = Persistent<Object>::New(iso, Object::New());
|
| g2s2 = Persistent<Object>::New(iso, Object::New());
|
| - g2s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g2s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g2s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g2s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
|
|
| g3s1 = Persistent<Object>::New(iso, Object::New());
|
| g3s2 = Persistent<Object>::New(iso, Object::New());
|
| - g3s1.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| - g3s2.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + g3s1.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| + g3s2.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| }
|
|
|
| // Make a root.
|
| @@ -3072,7 +3071,7 @@ TEST(ApiObjectGroupsCycleForScavenger) {
|
| CHECK_EQ(0, counter.NumberOfWeakCalls());
|
|
|
| // Weaken the root.
|
| - root.MakeWeak(iso, reinterpret_cast<void*>(&counter), &WeakPointerCallback);
|
| + root.MakeWeak(iso, &counter, &WeakPointerCallback);
|
| root.MarkPartiallyDependent(iso);
|
|
|
| v8::Isolate* isolate = v8::Isolate::GetCurrent();
|
| @@ -5958,11 +5957,10 @@ class Whammy {
|
| };
|
|
|
| static void HandleWeakReference(v8::Isolate* isolate,
|
| - v8::Persistent<v8::Value> obj,
|
| - void* data) {
|
| - Snorkel* snorkel = reinterpret_cast<Snorkel*>(data);
|
| + v8::Persistent<v8::Value>* obj,
|
| + Snorkel* snorkel) {
|
| delete snorkel;
|
| - obj.ClearWeak(isolate);
|
| + obj->ClearWeak(isolate);
|
| }
|
|
|
| v8::Handle<Value> WhammyPropertyGetter(Local<String> name,
|
| @@ -5977,7 +5975,9 @@ v8::Handle<Value> WhammyPropertyGetter(Local<String> name,
|
| v8::Persistent<v8::Object>::New(info.GetIsolate(), obj);
|
| if (!prev.IsEmpty()) {
|
| prev->Set(v8_str("next"), obj);
|
| - prev.MakeWeak(info.GetIsolate(), new Snorkel(), &HandleWeakReference);
|
| + prev.MakeWeak<Value, Snorkel>(info.GetIsolate(),
|
| + new Snorkel(),
|
| + &HandleWeakReference);
|
| whammy->objects_[whammy->cursor_].Clear();
|
| }
|
| whammy->objects_[whammy->cursor_] = global;
|
| @@ -6016,11 +6016,10 @@ THREADED_TEST(WeakReference) {
|
|
|
|
|
| static void DisposeAndSetFlag(v8::Isolate* isolate,
|
| - v8::Persistent<v8::Value> obj,
|
| - void* data) {
|
| - obj.Dispose(isolate);
|
| - obj.Clear();
|
| - *(reinterpret_cast<bool*>(data)) = true;
|
| + v8::Persistent<v8::Object>* obj,
|
| + bool* data) {
|
| + obj->Dispose(isolate);
|
| + *(data) = true;
|
| }
|
|
|
|
|
| @@ -6063,21 +6062,19 @@ static void InvokeMarkSweep() {
|
|
|
|
|
| static void ForceScavenge(v8::Isolate* isolate,
|
| - v8::Persistent<v8::Value> obj,
|
| - void* data) {
|
| - obj.Dispose(isolate);
|
| - obj.Clear();
|
| - *(reinterpret_cast<bool*>(data)) = true;
|
| + v8::Persistent<v8::Object>* obj,
|
| + bool* data) {
|
| + obj->Dispose(isolate);
|
| + *(data) = true;
|
| InvokeScavenge();
|
| }
|
|
|
|
|
| static void ForceMarkSweep(v8::Isolate* isolate,
|
| - v8::Persistent<v8::Value> obj,
|
| - void* data) {
|
| - obj.Dispose(isolate);
|
| - obj.Clear();
|
| - *(reinterpret_cast<bool*>(data)) = true;
|
| + v8::Persistent<v8::Object>* obj,
|
| + bool* data) {
|
| + obj->Dispose(isolate);
|
| + *(data) = true;
|
| InvokeMarkSweep();
|
| }
|
|
|
| @@ -6089,7 +6086,8 @@ THREADED_TEST(GCFromWeakCallbacks) {
|
| Context::Scope context_scope(context);
|
|
|
| static const int kNumberOfGCTypes = 2;
|
| - v8::NearDeathCallback gc_forcing_callback[kNumberOfGCTypes] =
|
| + typedef v8::WeakReferenceCallbacks<v8::Object, bool>::Revivable Callback;
|
| + Callback gc_forcing_callback[kNumberOfGCTypes] =
|
| {&ForceScavenge, &ForceMarkSweep};
|
|
|
| typedef void (*GCInvoker)();
|
| @@ -6113,10 +6111,10 @@ THREADED_TEST(GCFromWeakCallbacks) {
|
|
|
|
|
| static void RevivingCallback(v8::Isolate* isolate,
|
| - v8::Persistent<v8::Value> obj,
|
| - void* data) {
|
| - obj.ClearWeak(isolate);
|
| - *(reinterpret_cast<bool*>(data)) = true;
|
| + v8::Persistent<v8::Object>* obj,
|
| + bool* data) {
|
| + obj->ClearWeak(isolate);
|
| + *(data) = true;
|
| }
|
|
|
|
|
| @@ -11811,11 +11809,11 @@ v8::Persistent<v8::Object> some_object;
|
| v8::Persistent<v8::Object> bad_handle;
|
|
|
| void NewPersistentHandleCallback(v8::Isolate* isolate,
|
| - v8::Persistent<v8::Value> handle,
|
| + v8::Persistent<v8::Value>* handle,
|
| void*) {
|
| v8::HandleScope scope(isolate);
|
| bad_handle = v8::Persistent<v8::Object>::New(isolate, some_object);
|
| - handle.Dispose(isolate);
|
| + handle->Dispose(isolate);
|
| }
|
|
|
|
|
| @@ -11834,7 +11832,9 @@ THREADED_TEST(NewPersistentHandleFromWeakCallback) {
|
| // global handle nodes are processed by PostGarbageCollectionProcessing
|
| // in reverse allocation order, so if second allocated handle is deleted,
|
| // weak callback of the first handle would be able to 'reallocate' it.
|
| - handle1.MakeWeak(isolate, NULL, NewPersistentHandleCallback);
|
| + handle1.MakeWeak<v8::Value, void>(isolate,
|
| + NULL,
|
| + NewPersistentHandleCallback);
|
| handle2.Dispose(isolate);
|
| HEAP->CollectAllGarbage(i::Heap::kNoGCFlags);
|
| }
|
| @@ -11843,11 +11843,11 @@ THREADED_TEST(NewPersistentHandleFromWeakCallback) {
|
| v8::Persistent<v8::Object> to_be_disposed;
|
|
|
| void DisposeAndForceGcCallback(v8::Isolate* isolate,
|
| - v8::Persistent<v8::Value> handle,
|
| + v8::Persistent<v8::Value>* handle,
|
| void*) {
|
| to_be_disposed.Dispose(isolate);
|
| HEAP->CollectAllGarbage(i::Heap::kNoGCFlags);
|
| - handle.Dispose(isolate);
|
| + handle->Dispose(isolate);
|
| }
|
|
|
|
|
| @@ -11861,23 +11861,23 @@ THREADED_TEST(DoNotUseDeletedNodesInSecondLevelGc) {
|
| handle1 = v8::Persistent<v8::Object>::New(isolate, v8::Object::New());
|
| handle2 = v8::Persistent<v8::Object>::New(isolate, v8::Object::New());
|
| }
|
| - handle1.MakeWeak(isolate, NULL, DisposeAndForceGcCallback);
|
| + handle1.MakeWeak<v8::Value, void>(isolate, NULL, DisposeAndForceGcCallback);
|
| to_be_disposed = handle2;
|
| HEAP->CollectAllGarbage(i::Heap::kNoGCFlags);
|
| }
|
|
|
| void DisposingCallback(v8::Isolate* isolate,
|
| - v8::Persistent<v8::Value> handle,
|
| + v8::Persistent<v8::Value>* handle,
|
| void*) {
|
| - handle.Dispose(isolate);
|
| + handle->Dispose(isolate);
|
| }
|
|
|
| void HandleCreatingCallback(v8::Isolate* isolate,
|
| - v8::Persistent<v8::Value> handle,
|
| + v8::Persistent<v8::Value>* handle,
|
| void*) {
|
| v8::HandleScope scope(isolate);
|
| v8::Persistent<v8::Object>::New(isolate, v8::Object::New());
|
| - handle.Dispose(isolate);
|
| + handle->Dispose(isolate);
|
| }
|
|
|
|
|
| @@ -11892,8 +11892,8 @@ THREADED_TEST(NoGlobalHandlesOrphaningDueToWeakCallback) {
|
| handle2 = v8::Persistent<v8::Object>::New(isolate, v8::Object::New());
|
| handle1 = v8::Persistent<v8::Object>::New(isolate, v8::Object::New());
|
| }
|
| - handle2.MakeWeak(isolate, NULL, DisposingCallback);
|
| - handle3.MakeWeak(isolate, NULL, HandleCreatingCallback);
|
| + handle2.MakeWeak<v8::Value, void>(isolate, NULL, DisposingCallback);
|
| + handle3.MakeWeak<v8::Value, void>(isolate, NULL, HandleCreatingCallback);
|
| HEAP->CollectAllGarbage(i::Heap::kNoGCFlags);
|
| }
|
|
|
|
|