| Index: test/cctest/test-debug.cc
|
| diff --git a/test/cctest/test-debug.cc b/test/cctest/test-debug.cc
|
| index 0d47fe522c86e72cd76459cb54e2e043cbdba4f6..4d2cb0485fceb957b3bacf52ddedd804b199e4ea 100644
|
| --- a/test/cctest/test-debug.cc
|
| +++ b/test/cctest/test-debug.cc
|
| @@ -136,16 +136,12 @@ class DebugLocalContext {
|
| v8::Handle<v8::ObjectTemplate> global_template =
|
| v8::Handle<v8::ObjectTemplate>(),
|
| v8::Handle<v8::Value> global_object = v8::Handle<v8::Value>())
|
| - : scope_(v8::Isolate::GetCurrent()),
|
| - context_(
|
| - v8::Context::New(v8::Isolate::GetCurrent(),
|
| - extensions,
|
| - global_template,
|
| - global_object)) {
|
| + : context_(v8::Context::New(extensions, global_template, global_object)) {
|
| context_->Enter();
|
| }
|
| inline ~DebugLocalContext() {
|
| context_->Exit();
|
| + context_.Dispose(context_->GetIsolate());
|
| }
|
| inline v8::Context* operator->() { return *context_; }
|
| inline v8::Context* operator*() { return *context_; }
|
| @@ -170,8 +166,7 @@ class DebugLocalContext {
|
| }
|
|
|
| private:
|
| - v8::HandleScope scope_;
|
| - v8::Local<v8::Context> context_;
|
| + v8::Persistent<v8::Context> context_;
|
| };
|
|
|
|
|
| @@ -4239,8 +4234,7 @@ static const char* kSimpleExtensionSource =
|
| // http://crbug.com/28933
|
| // Test that debug break is disabled when bootstrapper is active.
|
| TEST(NoBreakWhenBootstrapping) {
|
| - v8::Isolate* isolate = v8::Isolate::GetCurrent();
|
| - v8::HandleScope scope(isolate);
|
| + v8::HandleScope scope(v8::Isolate::GetCurrent());
|
|
|
| // Register a debug event listener which sets the break flag and counts.
|
| v8::Debug::SetDebugEventListener(DebugEventCounter);
|
| @@ -4255,8 +4249,8 @@ TEST(NoBreakWhenBootstrapping) {
|
| kSimpleExtensionSource));
|
| const char* extension_names[] = { "simpletest" };
|
| v8::ExtensionConfiguration extensions(1, extension_names);
|
| - v8::HandleScope handle_scope(isolate);
|
| - v8::Context::New(isolate, &extensions);
|
| + v8::Persistent<v8::Context> context = v8::Context::New(&extensions);
|
| + context.Dispose(context->GetIsolate());
|
| }
|
| // Check that no DebugBreak events occured during the context creation.
|
| CHECK_EQ(0, break_point_hit_count);
|
| @@ -6241,7 +6235,7 @@ TEST(ScriptNameAndData) {
|
| }
|
|
|
|
|
| -static v8::Handle<v8::Context> expected_context;
|
| +static v8::Persistent<v8::Context> expected_context;
|
| static v8::Handle<v8::Value> expected_context_data;
|
|
|
|
|
| @@ -6299,7 +6293,7 @@ TEST(ContextData) {
|
| // Enter and run function in the first context.
|
| {
|
| v8::Context::Scope context_scope(context_1);
|
| - expected_context = context_1;
|
| + expected_context = v8::Persistent<v8::Context>(*context_1);
|
| expected_context_data = data_1;
|
| v8::Local<v8::Function> f = CompileFunction(source, "f");
|
| f->Call(context_1->Global(), 0, NULL);
|
| @@ -6309,7 +6303,7 @@ TEST(ContextData) {
|
| // Enter and run function in the second context.
|
| {
|
| v8::Context::Scope context_scope(context_2);
|
| - expected_context = context_2;
|
| + expected_context = v8::Persistent<v8::Context>(*context_2);
|
| expected_context_data = data_2;
|
| v8::Local<v8::Function> f = CompileFunction(source, "f");
|
| f->Call(context_2->Global(), 0, NULL);
|
| @@ -6460,7 +6454,7 @@ static void ExecuteScriptForContextCheck() {
|
| // Enter and run function in the context.
|
| {
|
| v8::Context::Scope context_scope(context_1);
|
| - expected_context = v8::Local<v8::Context>(*context_1);
|
| + expected_context = v8::Persistent<v8::Context>(*context_1);
|
| expected_context_data = data_1;
|
| v8::Local<v8::Function> f = CompileFunction(source, "f");
|
| f->Call(context_1->Global(), 0, NULL);
|
| @@ -6619,6 +6613,7 @@ TEST(ScriptCollectedEventContext) {
|
| v8::internal::Debug* debug =
|
| reinterpret_cast<v8::internal::Isolate*>(isolate)->debug();
|
| script_collected_message_count = 0;
|
| + v8::HandleScope scope(isolate);
|
|
|
| { // Scope for the DebugLocalContext.
|
| DebugLocalContext env;
|
| @@ -6631,15 +6626,17 @@ TEST(ScriptCollectedEventContext) {
|
| HEAP->CollectAllGarbage(Heap::kNoGCFlags);
|
|
|
| v8::Debug::SetMessageHandler2(ScriptCollectedMessageHandler);
|
| - v8::Script::Compile(v8::String::New("eval('a=1')"))->Run();
|
| - v8::Script::Compile(v8::String::New("eval('a=2')"))->Run();
|
| + {
|
| + v8::Script::Compile(v8::String::New("eval('a=1')"))->Run();
|
| + v8::Script::Compile(v8::String::New("eval('a=2')"))->Run();
|
| + }
|
| }
|
|
|
| // Do garbage collection to collect the script above which is no longer
|
| // referenced.
|
| HEAP->CollectAllGarbage(Heap::kNoGCFlags);
|
|
|
| - CHECK_EQ(4, script_collected_message_count);
|
| + CHECK_EQ(2, script_collected_message_count);
|
|
|
| v8::Debug::SetMessageHandler2(NULL);
|
| }
|
| @@ -7092,14 +7089,15 @@ static void DebugEventContextChecker(const v8::Debug::EventDetails& details) {
|
|
|
| // Check that event details contain context where debug event occured.
|
| TEST(DebugEventContext) {
|
| - v8::Isolate* isolate = v8::Isolate::GetCurrent();
|
| - v8::HandleScope scope(isolate);
|
| + v8::HandleScope scope(v8::Isolate::GetCurrent());
|
| expected_callback_data = v8::Int32::New(2010);
|
| v8::Debug::SetDebugEventListener2(DebugEventContextChecker,
|
| expected_callback_data);
|
| - expected_context = v8::Context::New(isolate);
|
| - v8::Context::Scope context_scope(expected_context);
|
| + expected_context = v8::Context::New();
|
| + v8::Context::Scope context_scope(
|
| + v8::Isolate::GetCurrent(), expected_context);
|
| v8::Script::Compile(v8::String::New("(function(){debugger;})();"))->Run();
|
| + expected_context.Dispose(expected_context->GetIsolate());
|
| expected_context.Clear();
|
| v8::Debug::SetDebugEventListener(NULL);
|
| expected_context_data = v8::Handle<v8::Value>();
|
|
|