Revision: 15105
Author: [email protected]
Date: Thu Jun 13 00:23:23 2013
Log: Deprecate the version of MakeWeak which takes an Isolate.
BUG=NONE
[email protected]
Review URL: https://codereview.chromium.org/16528009
http://code.google.com/p/v8/source/detail?r=15105
Modified:
/branches/bleeding_edge/include/v8.h
/branches/bleeding_edge/src/d8.cc
/branches/bleeding_edge/src/runtime.cc
/branches/bleeding_edge/test/cctest/test-api.cc
/branches/bleeding_edge/test/cctest/test-heap-profiler.cc
=======================================
--- /branches/bleeding_edge/include/v8.h Wed Jun 12 08:03:44 2013
+++ /branches/bleeding_edge/include/v8.h Thu Jun 13 00:23:23 2013
@@ -652,23 +652,17 @@
P* parameters,
typename WeakReferenceCallbacks<T, P>::Revivable callback));
- // TODO(dcarney): deprecate
template<typename S, typename P>
- V8_INLINE(void MakeWeak(
+ V8_DEPRECATED(void MakeWeak(
Isolate* isolate,
P* parameters,
- typename WeakReferenceCallbacks<S, P>::Revivable callback)) {
- MakeWeak<S, P>(parameters, callback);
- }
+ typename WeakReferenceCallbacks<S, P>::Revivable callback));
- // TODO(dcarney): deprecate
template<typename P>
- V8_INLINE(void MakeWeak(
+ V8_DEPRECATED(void MakeWeak(
Isolate* isolate,
P* parameters,
- typename WeakReferenceCallbacks<T, P>::Revivable callback)) {
- MakeWeak<P>(parameters, callback);
- }
+ typename WeakReferenceCallbacks<T, P>::Revivable callback));
V8_INLINE(void ClearWeak());
@@ -5595,6 +5589,26 @@
typename WeakReferenceCallbacks<T, P>::Revivable callback) {
MakeWeak<T, P>(parameters, callback);
}
+
+
+template <class T>
+template <typename S, typename P>
+void Persistent<T>::MakeWeak(
+ Isolate* isolate,
+ P* parameters,
+ typename WeakReferenceCallbacks<S, P>::Revivable callback) {
+ MakeWeak<S, P>(parameters, callback);
+}
+
+
+template <class T>
+template<typename P>
+void Persistent<T>::MakeWeak(
+ Isolate* isolate,
+ P* parameters,
+ typename WeakReferenceCallbacks<T, P>::Revivable callback) {
+ MakeWeak<P>(parameters, callback);
+}
template <class T>
=======================================
--- /branches/bleeding_edge/src/d8.cc Tue Jun 11 03:41:14 2013
+++ /branches/bleeding_edge/src/d8.cc Thu Jun 13 00:23:23 2013
@@ -1104,7 +1104,7 @@
}
Handle<v8::ArrayBuffer> buffer = ArrayBuffer::New(data, length);
v8::Persistent<v8::Value> weak_handle(isolate, buffer);
- weak_handle.MakeWeak(isolate, data, ReadBufferWeakCallback);
+ weak_handle.MakeWeak(data, ReadBufferWeakCallback);
weak_handle.MarkIndependent();
isolate->AdjustAmountOfExternalAllocatedMemory(length);
=======================================
--- /branches/bleeding_edge/src/runtime.cc Wed Jun 12 08:03:44 2013
+++ /branches/bleeding_edge/src/runtime.cc Thu Jun 13 00:23:23 2013
@@ -714,7 +714,7 @@
v8::Isolate* external_isolate = reinterpret_cast<v8::Isolate*>(isolate);
v8::Persistent<v8::Value> weak_handle(
external_isolate,
v8::Utils::ToLocal(Handle<Object>::cast(array_buffer)));
- weak_handle.MakeWeak(external_isolate, data, ArrayBufferWeakCallback);
+ weak_handle.MakeWeak(data, ArrayBufferWeakCallback);
weak_handle.MarkIndependent(external_isolate);
isolate->heap()->AdjustAmountOfExternalAllocatedMemory(allocated_length);
=======================================
--- /branches/bleeding_edge/test/cctest/test-api.cc Tue Jun 11 03:41:14 2013
+++ /branches/bleeding_edge/test/cctest/test-api.cc Thu Jun 13 00:23:23 2013
@@ -3121,16 +3121,16 @@
g1s1.Reset(iso, Object::New());
g1s2.Reset(iso, Object::New());
g1c1.Reset(iso, Object::New());
- g1s1.MakeWeak(iso, &counter, &WeakPointerCallback);
- g1s2.MakeWeak(iso, &counter, &WeakPointerCallback);
- g1c1.MakeWeak(iso, &counter, &WeakPointerCallback);
+ g1s1.MakeWeak(&counter, &WeakPointerCallback);
+ g1s2.MakeWeak(&counter, &WeakPointerCallback);
+ g1c1.MakeWeak(&counter, &WeakPointerCallback);
g2s1.Reset(iso, Object::New());
g2s2.Reset(iso, Object::New());
g2c1.Reset(iso, Object::New());
- g2s1.MakeWeak(iso, &counter, &WeakPointerCallback);
- g2s2.MakeWeak(iso, &counter, &WeakPointerCallback);
- g2c1.MakeWeak(iso, &counter, &WeakPointerCallback);
+ g2s1.MakeWeak(&counter, &WeakPointerCallback);
+ g2s2.MakeWeak(&counter, &WeakPointerCallback);
+ g2c1.MakeWeak(&counter, &WeakPointerCallback);
}
Persistent<Value> root(iso, g1s1); // make a root.
@@ -3163,7 +3163,7 @@
CHECK_EQ(0, counter.NumberOfWeakCalls());
// Weaken the root.
- root.MakeWeak(iso, &counter, &WeakPointerCallback);
+ root.MakeWeak(&counter, &WeakPointerCallback);
// But make children strong roots---all the objects (except for children)
// should be collectable now.
g1c1.ClearWeak(iso);
@@ -3187,8 +3187,8 @@
CHECK_EQ(5, counter.NumberOfWeakCalls());
// And now make children weak again and collect them.
- g1c1.MakeWeak(iso, &counter, &WeakPointerCallback);
- g2c1.MakeWeak(iso, &counter, &WeakPointerCallback);
+ g1c1.MakeWeak(&counter, &WeakPointerCallback);
+ g2c1.MakeWeak(&counter, &WeakPointerCallback);
heap->CollectAllGarbage(i::Heap::kAbortIncrementalMarkingMask);
CHECK_EQ(7, counter.NumberOfWeakCalls());
@@ -3215,29 +3215,29 @@
HandleScope scope(iso);
g1s1.Reset(iso, Object::New());
g1s2.Reset(iso, Object::New());
- g1s1.MakeWeak(iso, &counter, &WeakPointerCallback);
- g1s2.MakeWeak(iso, &counter, &WeakPointerCallback);
+ g1s1.MakeWeak(&counter, &WeakPointerCallback);
+ g1s2.MakeWeak(&counter, &WeakPointerCallback);
CHECK(g1s1.IsWeak(iso));
CHECK(g1s2.IsWeak(iso));
g2s1.Reset(iso, Object::New());
g2s2.Reset(iso, Object::New());
- g2s1.MakeWeak(iso, &counter, &WeakPointerCallback);
- g2s2.MakeWeak(iso, &counter, &WeakPointerCallback);
+ g2s1.MakeWeak(&counter, &WeakPointerCallback);
+ g2s2.MakeWeak(&counter, &WeakPointerCallback);
CHECK(g2s1.IsWeak(iso));
CHECK(g2s2.IsWeak(iso));
g3s1.Reset(iso, Object::New());
g3s2.Reset(iso, Object::New());
- g3s1.MakeWeak(iso, &counter, &WeakPointerCallback);
- g3s2.MakeWeak(iso, &counter, &WeakPointerCallback);
+ g3s1.MakeWeak(&counter, &WeakPointerCallback);
+ g3s2.MakeWeak(&counter, &WeakPointerCallback);
CHECK(g3s1.IsWeak(iso));
CHECK(g3s2.IsWeak(iso));
g4s1.Reset(iso, Object::New());
g4s2.Reset(iso, Object::New());
- g4s1.MakeWeak(iso, &counter, &WeakPointerCallback);
- g4s2.MakeWeak(iso, &counter, &WeakPointerCallback);
+ g4s1.MakeWeak(&counter, &WeakPointerCallback);
+ g4s2.MakeWeak(&counter, &WeakPointerCallback);
CHECK(g4s1.IsWeak(iso));
CHECK(g4s2.IsWeak(iso));
}
@@ -3274,7 +3274,7 @@
CHECK_EQ(0, counter.NumberOfWeakCalls());
// Weaken the root.
- root.MakeWeak(iso, &counter, &WeakPointerCallback);
+ root.MakeWeak(&counter, &WeakPointerCallback);
// Groups are deleted, rebuild groups.
{
@@ -3325,18 +3325,18 @@
HandleScope scope(iso);
g1s1.Reset(iso, Object::New());
g1s2.Reset(iso, Object::New());
- g1s1.MakeWeak(iso, &counter, &WeakPointerCallback);
- g1s2.MakeWeak(iso, &counter, &WeakPointerCallback);
+ g1s1.MakeWeak(&counter, &WeakPointerCallback);
+ g1s2.MakeWeak(&counter, &WeakPointerCallback);
g2s1.Reset(iso, Object::New());
g2s2.Reset(iso, Object::New());
- g2s1.MakeWeak(iso, &counter, &WeakPointerCallback);
- g2s2.MakeWeak(iso, &counter, &WeakPointerCallback);
+ g2s1.MakeWeak(&counter, &WeakPointerCallback);
+ g2s2.MakeWeak(&counter, &WeakPointerCallback);
g3s1.Reset(iso, Object::New());
g3s2.Reset(iso, Object::New());
- g3s1.MakeWeak(iso, &counter, &WeakPointerCallback);
- g3s2.MakeWeak(iso, &counter, &WeakPointerCallback);
+ g3s1.MakeWeak(&counter, &WeakPointerCallback);
+ g3s2.MakeWeak(&counter, &WeakPointerCallback);
}
// Make a root.
@@ -3376,7 +3376,7 @@
CHECK_EQ(0, counter.NumberOfWeakCalls());
// Weaken the root.
- root.MakeWeak(iso, &counter, &WeakPointerCallback);
+ root.MakeWeak(&counter, &WeakPointerCallback);
root.MarkPartiallyDependent(iso);
v8::Isolate* isolate = v8::Isolate::GetCurrent();
@@ -6276,9 +6276,7 @@
if (!prev.IsEmpty()) {
v8::Local<v8::Object>::New(info.GetIsolate(), prev)
->Set(v8_str("next"), obj);
- prev.MakeWeak<Value, Snorkel>(info.GetIsolate(),
- new Snorkel(),
- &HandleWeakReference);
+ prev.MakeWeak<Value, Snorkel>(new Snorkel(), &HandleWeakReference);
whammy->objects_[whammy->cursor_].Clear();
}
whammy->objects_[whammy->cursor_].Reset(info.GetIsolate(), obj);
@@ -6340,8 +6338,8 @@
bool object_a_disposed = false;
bool object_b_disposed = false;
- object_a.MakeWeak(iso, &object_a_disposed, &DisposeAndSetFlag);
- object_b.MakeWeak(iso, &object_b_disposed, &DisposeAndSetFlag);
+ object_a.MakeWeak(&object_a_disposed, &DisposeAndSetFlag);
+ object_b.MakeWeak(&object_b_disposed, &DisposeAndSetFlag);
CHECK(!object_b.IsIndependent(iso));
object_a.MarkIndependent(iso);
object_b.MarkIndependent(iso);
@@ -6402,7 +6400,7 @@
object.Reset(isolate, v8::Object::New());
}
bool disposed = false;
- object.MakeWeak(isolate, &disposed, gc_forcing_callback[inner_gc]);
+ object.MakeWeak(&disposed, gc_forcing_callback[inner_gc]);
object.MarkIndependent(isolate);
invoke_gc[outer_gc]();
CHECK(disposed);
@@ -6435,7 +6433,7 @@
o->Set(y_str, y_str);
}
bool revived = false;
- object.MakeWeak(isolate, &revived, &RevivingCallback);
+ object.MakeWeak(&revived, &RevivingCallback);
object.MarkIndependent(isolate);
HEAP->PerformScavenge();
CHECK(revived);
@@ -12161,9 +12159,7 @@
// 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<v8::Value, void>(isolate,
- NULL,
- NewPersistentHandleCallback);
+ handle1.MakeWeak<v8::Value, void>(NULL, NewPersistentHandleCallback);
handle2.Dispose(isolate);
HEAP->CollectAllGarbage(i::Heap::kNoGCFlags);
}
@@ -12190,7 +12186,7 @@
handle1.Reset(isolate, v8::Object::New());
handle2.Reset(isolate, v8::Object::New());
}
- handle1.MakeWeak<v8::Value, void>(isolate, NULL,
DisposeAndForceGcCallback);
+ handle1.MakeWeak<v8::Value, void>(NULL, DisposeAndForceGcCallback);
to_be_disposed.Reset(isolate, handle2);
HEAP->CollectAllGarbage(i::Heap::kNoGCFlags);
}
@@ -12221,8 +12217,8 @@
handle2.Reset(isolate, v8::Object::New());
handle1.Reset(isolate, v8::Object::New());
}
- handle2.MakeWeak<v8::Value, void>(isolate, NULL, DisposingCallback);
- handle3.MakeWeak<v8::Value, void>(isolate, NULL, HandleCreatingCallback);
+ handle2.MakeWeak<v8::Value, void>(NULL, DisposingCallback);
+ handle3.MakeWeak<v8::Value, void>(NULL, HandleCreatingCallback);
HEAP->CollectAllGarbage(i::Heap::kNoGCFlags);
}
=======================================
--- /branches/bleeding_edge/test/cctest/test-heap-profiler.cc Tue May 28
04:54:52 2013
+++ /branches/bleeding_edge/test/cctest/test-heap-profiler.cc Thu Jun 13
00:23:23 2013
@@ -1605,9 +1605,7 @@
CHECK(!HasWeakGlobalHandle());
v8::Persistent<v8::Object> handle(env->GetIsolate(), v8::Object::New());
- handle.MakeWeak<v8::Value, void>(env->GetIsolate(),
- NULL,
- PersistentHandleCallback);
+ handle.MakeWeak<v8::Value, void>(NULL, PersistentHandleCallback);
CHECK(HasWeakGlobalHandle());
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.