Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(239)

Side by Side Diff: test/cctest/test-api.cc

Issue 1496493002: Pass explicit Isolate parameter to v8::Debug methods that need it (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 20128 matching lines...) Expand 10 before | Expand all | Expand 10 after
20139 fun->Call(CcTest::global(), 1, &break_id); 20139 fun->Call(CcTest::global(), 1, &break_id);
20140 } 20140 }
20141 20141
20142 20142
20143 TEST(Regress385349) { 20143 TEST(Regress385349) {
20144 i::FLAG_allow_natives_syntax = true; 20144 i::FLAG_allow_natives_syntax = true;
20145 v8::Isolate* isolate = CcTest::isolate(); 20145 v8::Isolate* isolate = CcTest::isolate();
20146 HandleScope handle_scope(isolate); 20146 HandleScope handle_scope(isolate);
20147 isolate->SetAutorunMicrotasks(false); 20147 isolate->SetAutorunMicrotasks(false);
20148 Local<Context> context = Context::New(isolate); 20148 Local<Context> context = Context::New(isolate);
20149 v8::Debug::SetDebugEventListener(DebugEventInObserver); 20149 v8::Debug::SetDebugEventListener(isolate, DebugEventInObserver);
20150 { 20150 {
20151 Context::Scope context_scope(context); 20151 Context::Scope context_scope(context);
20152 CompileRun("var obj = {};" 20152 CompileRun("var obj = {};"
20153 "Object.observe(obj, function(changes) { debugger; });" 20153 "Object.observe(obj, function(changes) { debugger; });"
20154 "obj.a = 0;"); 20154 "obj.a = 0;");
20155 } 20155 }
20156 isolate->RunMicrotasks(); 20156 isolate->RunMicrotasks();
20157 isolate->SetAutorunMicrotasks(true); 20157 isolate->SetAutorunMicrotasks(true);
20158 v8::Debug::SetDebugEventListener(NULL); 20158 v8::Debug::SetDebugEventListener(isolate, nullptr);
20159 } 20159 }
20160 20160
20161 20161
20162 #ifdef ENABLE_DISASSEMBLER 20162 #ifdef ENABLE_DISASSEMBLER
20163 static int probes_counter = 0; 20163 static int probes_counter = 0;
20164 static int misses_counter = 0; 20164 static int misses_counter = 0;
20165 static int updates_counter = 0; 20165 static int updates_counter = 0;
20166 20166
20167 20167
20168 static int* LookupCounter(const char* name) { 20168 static int* LookupCounter(const char* name) {
(...skipping 2515 matching lines...) Expand 10 before | Expand all | Expand 10 after
22684 v8::ScriptCompiler::StartStreamingScript(isolate, &source); 22684 v8::ScriptCompiler::StartStreamingScript(isolate, &source);
22685 22685
22686 task->Run(); 22686 task->Run();
22687 delete task; 22687 delete task;
22688 22688
22689 CHECK(!try_catch.HasCaught()); 22689 CHECK(!try_catch.HasCaught());
22690 22690
22691 v8::ScriptOrigin origin(v8_str("http://foo.com")); 22691 v8::ScriptOrigin origin(v8_str("http://foo.com"));
22692 char* full_source = TestSourceStream::FullSourceString(chunks); 22692 char* full_source = TestSourceStream::FullSourceString(chunks);
22693 22693
22694 EnableDebugger(); 22694 EnableDebugger(isolate);
22695 22695
22696 v8::Local<Script> script = v8::ScriptCompiler::Compile( 22696 v8::Local<Script> script = v8::ScriptCompiler::Compile(
22697 isolate, &source, v8_str(full_source), origin); 22697 isolate, &source, v8_str(full_source), origin);
22698 22698
22699 Maybe<uint32_t> result = 22699 Maybe<uint32_t> result =
22700 script->Run(env.local()).ToLocalChecked()->Uint32Value(env.local()); 22700 script->Run(env.local()).ToLocalChecked()->Uint32Value(env.local());
22701 CHECK_EQ(3U, result.FromMaybe(0)); 22701 CHECK_EQ(3U, result.FromMaybe(0));
22702 22702
22703 delete[] full_source; 22703 delete[] full_source;
22704 22704
22705 DisableDebugger(); 22705 DisableDebugger(isolate);
22706 } 22706 }
22707 22707
22708 22708
22709 TEST(StreamingScriptWithInvalidUtf8) { 22709 TEST(StreamingScriptWithInvalidUtf8) {
22710 // Regression test for a crash: test that invalid UTF-8 bytes in the end of a 22710 // Regression test for a crash: test that invalid UTF-8 bytes in the end of a
22711 // chunk don't produce a crash. 22711 // chunk don't produce a crash.
22712 const char* reference = "\xec\x92\x81\x80\x80"; 22712 const char* reference = "\xec\x92\x81\x80\x80";
22713 char chunk1[] = 22713 char chunk1[] =
22714 "function foo() {\n" 22714 "function foo() {\n"
22715 " // This function will contain an UTF-8 character which is not in\n" 22715 " // This function will contain an UTF-8 character which is not in\n"
(...skipping 1113 matching lines...) Expand 10 before | Expand all | Expand 10 after
23829 env2->Global()->Set(env2.local(), v8_str("obj2"), object2).FromJust()); 23829 env2->Global()->Set(env2.local(), v8_str("obj2"), object2).FromJust());
23830 ExpectString("typeof obj2.values", "function"); 23830 ExpectString("typeof obj2.values", "function");
23831 CHECK_NE(*object->Get(v8_str("values")), *object2->Get(v8_str("values"))); 23831 CHECK_NE(*object->Get(v8_str("values")), *object2->Get(v8_str("values")));
23832 23832
23833 auto values2 = Local<Function>::Cast(object2->Get(v8_str("values"))); 23833 auto values2 = Local<Function>::Cast(object2->Get(v8_str("values")));
23834 auto fn2 = i::Handle<i::JSFunction>::cast(v8::Utils::OpenHandle(*values2)); 23834 auto fn2 = i::Handle<i::JSFunction>::cast(v8::Utils::OpenHandle(*values2));
23835 auto ctx2 = v8::Utils::OpenHandle(*env2.local()); 23835 auto ctx2 = v8::Utils::OpenHandle(*env2.local());
23836 CHECK_EQ(fn2->GetCreationContext(), *ctx2); 23836 CHECK_EQ(fn2->GetCreationContext(), *ctx2);
23837 } 23837 }
23838 } 23838 }
OLDNEW
« src/api.cc ('K') | « test/cctest/cctest.h ('k') | test/cctest/test-debug.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698