OLD | NEW |
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 20903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
20914 TEST(CallCompletedCallbackTwoExceptions) { | 20914 TEST(CallCompletedCallbackTwoExceptions) { |
20915 LocalContext env; | 20915 LocalContext env; |
20916 v8::HandleScope scope(env->GetIsolate()); | 20916 v8::HandleScope scope(env->GetIsolate()); |
20917 env->GetIsolate()->AddCallCompletedCallback(CallCompletedCallbackException); | 20917 env->GetIsolate()->AddCallCompletedCallback(CallCompletedCallbackException); |
20918 CompileRun("throw 'first exception';"); | 20918 CompileRun("throw 'first exception';"); |
20919 } | 20919 } |
20920 | 20920 |
20921 | 20921 |
20922 static void MicrotaskOne(const v8::FunctionCallbackInfo<Value>& info) { | 20922 static void MicrotaskOne(const v8::FunctionCallbackInfo<Value>& info) { |
20923 v8::HandleScope scope(info.GetIsolate()); | 20923 v8::HandleScope scope(info.GetIsolate()); |
20924 v8::MicrotasksScope microtasks(info.GetIsolate(), | |
20925 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
20926 CompileRun("ext1Calls++;"); | 20924 CompileRun("ext1Calls++;"); |
20927 } | 20925 } |
20928 | 20926 |
20929 | 20927 |
20930 static void MicrotaskTwo(const v8::FunctionCallbackInfo<Value>& info) { | 20928 static void MicrotaskTwo(const v8::FunctionCallbackInfo<Value>& info) { |
20931 v8::HandleScope scope(info.GetIsolate()); | 20929 v8::HandleScope scope(info.GetIsolate()); |
20932 v8::MicrotasksScope microtasks(info.GetIsolate(), | |
20933 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
20934 CompileRun("ext2Calls++;"); | 20930 CompileRun("ext2Calls++;"); |
20935 } | 20931 } |
20936 | 20932 |
20937 | 20933 |
20938 void* g_passed_to_three = NULL; | 20934 void* g_passed_to_three = NULL; |
20939 | 20935 |
20940 | 20936 |
20941 static void MicrotaskThree(void* data) { | 20937 static void MicrotaskThree(void* data) { |
20942 g_passed_to_three = data; | 20938 g_passed_to_three = data; |
20943 } | 20939 } |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
21058 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21054 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
21059 CHECK_EQ(0u, microtasks_completed_callback_count); | 21055 CHECK_EQ(0u, microtasks_completed_callback_count); |
21060 | 21056 |
21061 env->GetIsolate()->EnqueueMicrotask( | 21057 env->GetIsolate()->EnqueueMicrotask( |
21062 Function::New(env.local(), MicrotaskOne).ToLocalChecked()); | 21058 Function::New(env.local(), MicrotaskOne).ToLocalChecked()); |
21063 CompileRun("1+1;"); | 21059 CompileRun("1+1;"); |
21064 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21060 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
21065 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21061 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
21066 CHECK_EQ(1u, microtasks_completed_callback_count); | 21062 CHECK_EQ(1u, microtasks_completed_callback_count); |
21067 | 21063 |
21068 env->GetIsolate()->SetMicrotasksPolicy(v8::MicrotasksPolicy::kExplicit); | 21064 env->GetIsolate()->SetAutorunMicrotasks(false); |
21069 env->GetIsolate()->EnqueueMicrotask( | 21065 env->GetIsolate()->EnqueueMicrotask( |
21070 Function::New(env.local(), MicrotaskOne).ToLocalChecked()); | 21066 Function::New(env.local(), MicrotaskOne).ToLocalChecked()); |
21071 env->GetIsolate()->EnqueueMicrotask( | 21067 env->GetIsolate()->EnqueueMicrotask( |
21072 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | 21068 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); |
21073 CompileRun("1+1;"); | 21069 CompileRun("1+1;"); |
21074 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21070 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
21075 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21071 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
21076 CHECK_EQ(1u, microtasks_completed_callback_count); | 21072 CHECK_EQ(1u, microtasks_completed_callback_count); |
21077 | 21073 |
21078 env->GetIsolate()->RunMicrotasks(); | 21074 env->GetIsolate()->RunMicrotasks(); |
21079 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21075 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
21080 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21076 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
21081 CHECK_EQ(2u, microtasks_completed_callback_count); | 21077 CHECK_EQ(2u, microtasks_completed_callback_count); |
21082 | 21078 |
21083 env->GetIsolate()->EnqueueMicrotask( | 21079 env->GetIsolate()->EnqueueMicrotask( |
21084 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | 21080 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); |
21085 CompileRun("1+1;"); | 21081 CompileRun("1+1;"); |
21086 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21082 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
21087 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21083 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
21088 CHECK_EQ(2u, microtasks_completed_callback_count); | 21084 CHECK_EQ(2u, microtasks_completed_callback_count); |
21089 | 21085 |
21090 env->GetIsolate()->RunMicrotasks(); | 21086 env->GetIsolate()->RunMicrotasks(); |
21091 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21087 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
21092 CHECK_EQ(2, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21088 CHECK_EQ(2, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
21093 CHECK_EQ(3u, microtasks_completed_callback_count); | 21089 CHECK_EQ(3u, microtasks_completed_callback_count); |
21094 | 21090 |
21095 env->GetIsolate()->SetMicrotasksPolicy(v8::MicrotasksPolicy::kAuto); | 21091 env->GetIsolate()->SetAutorunMicrotasks(true); |
21096 env->GetIsolate()->EnqueueMicrotask( | 21092 env->GetIsolate()->EnqueueMicrotask( |
21097 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | 21093 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); |
21098 CompileRun("1+1;"); | 21094 CompileRun("1+1;"); |
21099 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21095 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
21100 CHECK_EQ(3, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21096 CHECK_EQ(3, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
21101 CHECK_EQ(4u, microtasks_completed_callback_count); | 21097 CHECK_EQ(4u, microtasks_completed_callback_count); |
21102 | 21098 |
21103 env->GetIsolate()->EnqueueMicrotask( | 21099 env->GetIsolate()->EnqueueMicrotask( |
21104 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | 21100 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); |
21105 { | 21101 { |
(...skipping 16 matching lines...) Expand all Loading... |
21122 CompileRun("1+1;"); | 21118 CompileRun("1+1;"); |
21123 CHECK_EQ(3, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21119 CHECK_EQ(3, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
21124 CHECK_EQ(4, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21120 CHECK_EQ(4, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
21125 CHECK_EQ(5u, microtasks_completed_callback_count); | 21121 CHECK_EQ(5u, microtasks_completed_callback_count); |
21126 } | 21122 } |
21127 | 21123 |
21128 | 21124 |
21129 TEST(RunMicrotasksWithoutEnteringContext) { | 21125 TEST(RunMicrotasksWithoutEnteringContext) { |
21130 v8::Isolate* isolate = CcTest::isolate(); | 21126 v8::Isolate* isolate = CcTest::isolate(); |
21131 HandleScope handle_scope(isolate); | 21127 HandleScope handle_scope(isolate); |
21132 isolate->SetMicrotasksPolicy(v8::MicrotasksPolicy::kExplicit); | 21128 isolate->SetAutorunMicrotasks(false); |
21133 Local<Context> context = Context::New(isolate); | 21129 Local<Context> context = Context::New(isolate); |
21134 { | 21130 { |
21135 Context::Scope context_scope(context); | 21131 Context::Scope context_scope(context); |
21136 CompileRun("var ext1Calls = 0;"); | 21132 CompileRun("var ext1Calls = 0;"); |
21137 isolate->EnqueueMicrotask( | 21133 isolate->EnqueueMicrotask( |
21138 Function::New(context, MicrotaskOne).ToLocalChecked()); | 21134 Function::New(context, MicrotaskOne).ToLocalChecked()); |
21139 } | 21135 } |
21140 isolate->RunMicrotasks(); | 21136 isolate->RunMicrotasks(); |
21141 { | 21137 { |
21142 Context::Scope context_scope(context); | 21138 Context::Scope context_scope(context); |
21143 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(context).FromJust()); | 21139 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(context).FromJust()); |
21144 } | 21140 } |
21145 isolate->SetMicrotasksPolicy(v8::MicrotasksPolicy::kAuto); | 21141 isolate->SetAutorunMicrotasks(true); |
21146 } | 21142 } |
21147 | 21143 |
21148 | 21144 |
21149 TEST(ScopedMicrotasks) { | |
21150 LocalContext env; | |
21151 v8::HandleScope handles(env->GetIsolate()); | |
21152 env->GetIsolate()->SetMicrotasksPolicy(v8::MicrotasksPolicy::kScoped); | |
21153 { | |
21154 v8::MicrotasksScope scope1(env->GetIsolate(), | |
21155 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
21156 env->GetIsolate()->EnqueueMicrotask( | |
21157 Function::New(env.local(), MicrotaskOne).ToLocalChecked()); | |
21158 CompileRun( | |
21159 "var ext1Calls = 0;" | |
21160 "var ext2Calls = 0;"); | |
21161 CompileRun("1+1;"); | |
21162 CHECK_EQ(0, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21163 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21164 { | |
21165 v8::MicrotasksScope scope2(env->GetIsolate(), | |
21166 v8::MicrotasksScope::kRunMicrotasks); | |
21167 CompileRun("1+1;"); | |
21168 CHECK_EQ(0, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21169 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21170 { | |
21171 v8::MicrotasksScope scope3(env->GetIsolate(), | |
21172 v8::MicrotasksScope::kRunMicrotasks); | |
21173 CompileRun("1+1;"); | |
21174 CHECK_EQ(0, | |
21175 CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21176 CHECK_EQ(0, | |
21177 CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21178 } | |
21179 CHECK_EQ(0, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21180 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21181 } | |
21182 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21183 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21184 env->GetIsolate()->EnqueueMicrotask( | |
21185 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | |
21186 } | |
21187 | |
21188 { | |
21189 v8::MicrotasksScope scope(env->GetIsolate(), | |
21190 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
21191 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21192 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21193 } | |
21194 | |
21195 { | |
21196 v8::MicrotasksScope scope1(env->GetIsolate(), | |
21197 v8::MicrotasksScope::kRunMicrotasks); | |
21198 CompileRun("1+1;"); | |
21199 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21200 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21201 { | |
21202 v8::MicrotasksScope scope2(env->GetIsolate(), | |
21203 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
21204 } | |
21205 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21206 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21207 } | |
21208 | |
21209 { | |
21210 v8::MicrotasksScope scope(env->GetIsolate(), | |
21211 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
21212 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21213 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21214 env->GetIsolate()->EnqueueMicrotask( | |
21215 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | |
21216 } | |
21217 | |
21218 { | |
21219 v8::Isolate::SuppressMicrotaskExecutionScope scope1(env->GetIsolate()); | |
21220 { | |
21221 v8::MicrotasksScope scope2(env->GetIsolate(), | |
21222 v8::MicrotasksScope::kRunMicrotasks); | |
21223 } | |
21224 v8::MicrotasksScope scope3(env->GetIsolate(), | |
21225 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
21226 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21227 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21228 } | |
21229 | |
21230 { | |
21231 v8::MicrotasksScope scope1(env->GetIsolate(), | |
21232 v8::MicrotasksScope::kRunMicrotasks); | |
21233 v8::MicrotasksScope::PerformCheckpoint(env->GetIsolate()); | |
21234 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21235 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21236 } | |
21237 | |
21238 { | |
21239 v8::MicrotasksScope scope(env->GetIsolate(), | |
21240 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
21241 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21242 CHECK_EQ(2, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21243 } | |
21244 | |
21245 v8::MicrotasksScope::PerformCheckpoint(env->GetIsolate()); | |
21246 | |
21247 { | |
21248 v8::MicrotasksScope scope(env->GetIsolate(), | |
21249 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
21250 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21251 CHECK_EQ(2, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21252 env->GetIsolate()->EnqueueMicrotask( | |
21253 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | |
21254 } | |
21255 | |
21256 v8::MicrotasksScope::PerformCheckpoint(env->GetIsolate()); | |
21257 | |
21258 { | |
21259 v8::MicrotasksScope scope(env->GetIsolate(), | |
21260 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
21261 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21262 CHECK_EQ(3, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21263 } | |
21264 | |
21265 env->GetIsolate()->EnqueueMicrotask( | |
21266 Function::New(env.local(), MicrotaskOne).ToLocalChecked()); | |
21267 { | |
21268 v8::Isolate::SuppressMicrotaskExecutionScope scope1(env->GetIsolate()); | |
21269 v8::MicrotasksScope::PerformCheckpoint(env->GetIsolate()); | |
21270 v8::MicrotasksScope scope2(env->GetIsolate(), | |
21271 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
21272 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21273 CHECK_EQ(3, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21274 } | |
21275 | |
21276 v8::MicrotasksScope::PerformCheckpoint(env->GetIsolate()); | |
21277 | |
21278 { | |
21279 v8::MicrotasksScope scope(env->GetIsolate(), | |
21280 v8::MicrotasksScope::kDoNotRunMicrotasks); | |
21281 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | |
21282 CHECK_EQ(3, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | |
21283 } | |
21284 | |
21285 env->GetIsolate()->SetMicrotasksPolicy(v8::MicrotasksPolicy::kAuto); | |
21286 } | |
21287 | |
21288 | |
21289 static void DebugEventInObserver(const v8::Debug::EventDetails& event_details) { | 21145 static void DebugEventInObserver(const v8::Debug::EventDetails& event_details) { |
21290 v8::DebugEvent event = event_details.GetEvent(); | 21146 v8::DebugEvent event = event_details.GetEvent(); |
21291 if (event != v8::Break) return; | 21147 if (event != v8::Break) return; |
21292 Local<Object> exec_state = event_details.GetExecutionState(); | 21148 Local<Object> exec_state = event_details.GetExecutionState(); |
21293 Local<Context> context = CcTest::isolate()->GetCurrentContext(); | 21149 Local<Context> context = CcTest::isolate()->GetCurrentContext(); |
21294 Local<Value> break_id = | 21150 Local<Value> break_id = |
21295 exec_state->Get(context, v8_str("break_id")).ToLocalChecked(); | 21151 exec_state->Get(context, v8_str("break_id")).ToLocalChecked(); |
21296 CompileRun("function f(id) { new FrameDetails(id, 0); }"); | 21152 CompileRun("function f(id) { new FrameDetails(id, 0); }"); |
21297 Local<Function> fun = Local<Function>::Cast( | 21153 Local<Function> fun = Local<Function>::Cast( |
21298 CcTest::global()->Get(context, v8_str("f")).ToLocalChecked()); | 21154 CcTest::global()->Get(context, v8_str("f")).ToLocalChecked()); |
21299 fun->Call(context, CcTest::global(), 1, &break_id).ToLocalChecked(); | 21155 fun->Call(context, CcTest::global(), 1, &break_id).ToLocalChecked(); |
21300 } | 21156 } |
21301 | 21157 |
21302 | 21158 |
21303 TEST(Regress385349) { | 21159 TEST(Regress385349) { |
21304 i::FLAG_harmony_object_observe = true; | 21160 i::FLAG_harmony_object_observe = true; |
21305 i::FLAG_allow_natives_syntax = true; | 21161 i::FLAG_allow_natives_syntax = true; |
21306 v8::Isolate* isolate = CcTest::isolate(); | 21162 v8::Isolate* isolate = CcTest::isolate(); |
21307 HandleScope handle_scope(isolate); | 21163 HandleScope handle_scope(isolate); |
21308 isolate->SetMicrotasksPolicy(v8::MicrotasksPolicy::kExplicit); | 21164 isolate->SetAutorunMicrotasks(false); |
21309 Local<Context> context = Context::New(isolate); | 21165 Local<Context> context = Context::New(isolate); |
21310 v8::Debug::SetDebugEventListener(isolate, DebugEventInObserver); | 21166 v8::Debug::SetDebugEventListener(isolate, DebugEventInObserver); |
21311 { | 21167 { |
21312 Context::Scope context_scope(context); | 21168 Context::Scope context_scope(context); |
21313 CompileRun("var obj = {};" | 21169 CompileRun("var obj = {};" |
21314 "Object.observe(obj, function(changes) { debugger; });" | 21170 "Object.observe(obj, function(changes) { debugger; });" |
21315 "obj.a = 0;"); | 21171 "obj.a = 0;"); |
21316 } | 21172 } |
21317 isolate->RunMicrotasks(); | 21173 isolate->RunMicrotasks(); |
21318 isolate->SetMicrotasksPolicy(v8::MicrotasksPolicy::kAuto); | 21174 isolate->SetAutorunMicrotasks(true); |
21319 v8::Debug::SetDebugEventListener(isolate, nullptr); | 21175 v8::Debug::SetDebugEventListener(isolate, nullptr); |
21320 } | 21176 } |
21321 | 21177 |
21322 | 21178 |
21323 #ifdef ENABLE_DISASSEMBLER | 21179 #ifdef ENABLE_DISASSEMBLER |
21324 static int probes_counter = 0; | 21180 static int probes_counter = 0; |
21325 static int misses_counter = 0; | 21181 static int misses_counter = 0; |
21326 static int updates_counter = 0; | 21182 static int updates_counter = 0; |
21327 | 21183 |
21328 | 21184 |
(...skipping 3787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
25116 CHECK(proxy->GetTarget()->SameValue(target)); | 24972 CHECK(proxy->GetTarget()->SameValue(target)); |
25117 CHECK(proxy->GetHandler()->SameValue(handler)); | 24973 CHECK(proxy->GetHandler()->SameValue(handler)); |
25118 | 24974 |
25119 proxy->Revoke(); | 24975 proxy->Revoke(); |
25120 CHECK(proxy->IsProxy()); | 24976 CHECK(proxy->IsProxy()); |
25121 CHECK(!target->IsProxy()); | 24977 CHECK(!target->IsProxy()); |
25122 CHECK(proxy->IsRevoked()); | 24978 CHECK(proxy->IsRevoked()); |
25123 CHECK(proxy->GetTarget()->SameValue(target)); | 24979 CHECK(proxy->GetTarget()->SameValue(target)); |
25124 CHECK(proxy->GetHandler()->IsNull()); | 24980 CHECK(proxy->GetHandler()->IsNull()); |
25125 } | 24981 } |
OLD | NEW |