| Index: test/cctest/test-api.cc
|
| diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
|
| index 0f790f5a4eda64cbccadb260279e7f95924d1a98..a6157b00f4f22fd688ee4bfe3ab9d622293af3dd 100644
|
| --- a/test/cctest/test-api.cc
|
| +++ b/test/cctest/test-api.cc
|
| @@ -12676,17 +12676,6 @@ TEST(DontLeakGlobalObjects) {
|
| }
|
| }
|
|
|
| -template<class T>
|
| -struct CopyablePersistentTraits {
|
| - typedef Persistent<T, CopyablePersistentTraits<T> > CopyablePersistent;
|
| - static const bool kResetInDestructor = true;
|
| - template<class S, class M>
|
| - static V8_INLINE void Copy(const Persistent<S, M>& source,
|
| - CopyablePersistent* dest) {
|
| - // do nothing, just allow copy
|
| - }
|
| -};
|
| -
|
|
|
| TEST(CopyablePersistent) {
|
| LocalContext context;
|
| @@ -12694,19 +12683,20 @@ TEST(CopyablePersistent) {
|
| i::GlobalHandles* globals =
|
| reinterpret_cast<i::Isolate*>(isolate)->global_handles();
|
| int initial_handles = globals->global_handles_count();
|
| + typedef v8::Persistent<v8::Object, v8::CopyablePersistentTraits<v8::Object> >
|
| + CopyableObject;
|
| {
|
| - v8::Persistent<v8::Object, CopyablePersistentTraits<v8::Object> > handle1;
|
| + CopyableObject handle1;
|
| {
|
| v8::HandleScope scope(isolate);
|
| handle1.Reset(isolate, v8::Object::New());
|
| }
|
| CHECK_EQ(initial_handles + 1, globals->global_handles_count());
|
| - v8::Persistent<v8::Object, CopyablePersistentTraits<v8::Object> > handle2;
|
| + CopyableObject handle2;
|
| handle2 = handle1;
|
| CHECK(handle1 == handle2);
|
| CHECK_EQ(initial_handles + 2, globals->global_handles_count());
|
| - v8::Persistent<v8::Object, CopyablePersistentTraits<v8::Object> >
|
| - handle3(handle2);
|
| + CopyableObject handle3(handle2);
|
| CHECK(handle1 == handle3);
|
| CHECK_EQ(initial_handles + 3, globals->global_handles_count());
|
| }
|
|
|