| 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); |
| 20924 CompileRun("ext1Calls++;"); | 20926 CompileRun("ext1Calls++;"); |
| 20925 } | 20927 } |
| 20926 | 20928 |
| 20927 | 20929 |
| 20928 static void MicrotaskTwo(const v8::FunctionCallbackInfo<Value>& info) { | 20930 static void MicrotaskTwo(const v8::FunctionCallbackInfo<Value>& info) { |
| 20929 v8::HandleScope scope(info.GetIsolate()); | 20931 v8::HandleScope scope(info.GetIsolate()); |
| 20932 v8::MicrotasksScope microtasks(info.GetIsolate(), |
| 20933 v8::MicrotasksScope::kDoNotRunMicrotasks); |
| 20930 CompileRun("ext2Calls++;"); | 20934 CompileRun("ext2Calls++;"); |
| 20931 } | 20935 } |
| 20932 | 20936 |
| 20933 | 20937 |
| 20934 void* g_passed_to_three = NULL; | 20938 void* g_passed_to_three = NULL; |
| 20935 | 20939 |
| 20936 | 20940 |
| 20937 static void MicrotaskThree(void* data) { | 20941 static void MicrotaskThree(void* data) { |
| 20938 g_passed_to_three = data; | 20942 g_passed_to_three = data; |
| 20939 } | 20943 } |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21054 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21058 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
| 21055 CHECK_EQ(0u, microtasks_completed_callback_count); | 21059 CHECK_EQ(0u, microtasks_completed_callback_count); |
| 21056 | 21060 |
| 21057 env->GetIsolate()->EnqueueMicrotask( | 21061 env->GetIsolate()->EnqueueMicrotask( |
| 21058 Function::New(env.local(), MicrotaskOne).ToLocalChecked()); | 21062 Function::New(env.local(), MicrotaskOne).ToLocalChecked()); |
| 21059 CompileRun("1+1;"); | 21063 CompileRun("1+1;"); |
| 21060 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21064 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
| 21061 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21065 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
| 21062 CHECK_EQ(1u, microtasks_completed_callback_count); | 21066 CHECK_EQ(1u, microtasks_completed_callback_count); |
| 21063 | 21067 |
| 21064 env->GetIsolate()->SetAutorunMicrotasks(false); | 21068 env->GetIsolate()->SetMicrotasksPolicy(v8::MicrotasksPolicy::kExplicit); |
| 21065 env->GetIsolate()->EnqueueMicrotask( | 21069 env->GetIsolate()->EnqueueMicrotask( |
| 21066 Function::New(env.local(), MicrotaskOne).ToLocalChecked()); | 21070 Function::New(env.local(), MicrotaskOne).ToLocalChecked()); |
| 21067 env->GetIsolate()->EnqueueMicrotask( | 21071 env->GetIsolate()->EnqueueMicrotask( |
| 21068 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | 21072 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); |
| 21069 CompileRun("1+1;"); | 21073 CompileRun("1+1;"); |
| 21070 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21074 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
| 21071 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21075 CHECK_EQ(0, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
| 21072 CHECK_EQ(1u, microtasks_completed_callback_count); | 21076 CHECK_EQ(1u, microtasks_completed_callback_count); |
| 21073 | 21077 |
| 21074 env->GetIsolate()->RunMicrotasks(); | 21078 env->GetIsolate()->RunMicrotasks(); |
| 21075 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21079 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
| 21076 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21080 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
| 21077 CHECK_EQ(2u, microtasks_completed_callback_count); | 21081 CHECK_EQ(2u, microtasks_completed_callback_count); |
| 21078 | 21082 |
| 21079 env->GetIsolate()->EnqueueMicrotask( | 21083 env->GetIsolate()->EnqueueMicrotask( |
| 21080 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | 21084 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); |
| 21081 CompileRun("1+1;"); | 21085 CompileRun("1+1;"); |
| 21082 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21086 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
| 21083 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21087 CHECK_EQ(1, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
| 21084 CHECK_EQ(2u, microtasks_completed_callback_count); | 21088 CHECK_EQ(2u, microtasks_completed_callback_count); |
| 21085 | 21089 |
| 21086 env->GetIsolate()->RunMicrotasks(); | 21090 env->GetIsolate()->RunMicrotasks(); |
| 21087 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21091 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
| 21088 CHECK_EQ(2, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21092 CHECK_EQ(2, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
| 21089 CHECK_EQ(3u, microtasks_completed_callback_count); | 21093 CHECK_EQ(3u, microtasks_completed_callback_count); |
| 21090 | 21094 |
| 21091 env->GetIsolate()->SetAutorunMicrotasks(true); | 21095 env->GetIsolate()->SetMicrotasksPolicy(v8::MicrotasksPolicy::kAuto); |
| 21092 env->GetIsolate()->EnqueueMicrotask( | 21096 env->GetIsolate()->EnqueueMicrotask( |
| 21093 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | 21097 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); |
| 21094 CompileRun("1+1;"); | 21098 CompileRun("1+1;"); |
| 21095 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21099 CHECK_EQ(2, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
| 21096 CHECK_EQ(3, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21100 CHECK_EQ(3, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
| 21097 CHECK_EQ(4u, microtasks_completed_callback_count); | 21101 CHECK_EQ(4u, microtasks_completed_callback_count); |
| 21098 | 21102 |
| 21099 env->GetIsolate()->EnqueueMicrotask( | 21103 env->GetIsolate()->EnqueueMicrotask( |
| 21100 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); | 21104 Function::New(env.local(), MicrotaskTwo).ToLocalChecked()); |
| 21101 { | 21105 { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 21118 CompileRun("1+1;"); | 21122 CompileRun("1+1;"); |
| 21119 CHECK_EQ(3, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); | 21123 CHECK_EQ(3, CompileRun("ext1Calls")->Int32Value(env.local()).FromJust()); |
| 21120 CHECK_EQ(4, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); | 21124 CHECK_EQ(4, CompileRun("ext2Calls")->Int32Value(env.local()).FromJust()); |
| 21121 CHECK_EQ(5u, microtasks_completed_callback_count); | 21125 CHECK_EQ(5u, microtasks_completed_callback_count); |
| 21122 } | 21126 } |
| 21123 | 21127 |
| 21124 | 21128 |
| 21125 TEST(RunMicrotasksWithoutEnteringContext) { | 21129 TEST(RunMicrotasksWithoutEnteringContext) { |
| 21126 v8::Isolate* isolate = CcTest::isolate(); | 21130 v8::Isolate* isolate = CcTest::isolate(); |
| 21127 HandleScope handle_scope(isolate); | 21131 HandleScope handle_scope(isolate); |
| 21128 isolate->SetAutorunMicrotasks(false); | 21132 isolate->SetMicrotasksPolicy(v8::MicrotasksPolicy::kExplicit); |
| 21129 Local<Context> context = Context::New(isolate); | 21133 Local<Context> context = Context::New(isolate); |
| 21130 { | 21134 { |
| 21131 Context::Scope context_scope(context); | 21135 Context::Scope context_scope(context); |
| 21132 CompileRun("var ext1Calls = 0;"); | 21136 CompileRun("var ext1Calls = 0;"); |
| 21133 isolate->EnqueueMicrotask( | 21137 isolate->EnqueueMicrotask( |
| 21134 Function::New(context, MicrotaskOne).ToLocalChecked()); | 21138 Function::New(context, MicrotaskOne).ToLocalChecked()); |
| 21135 } | 21139 } |
| 21136 isolate->RunMicrotasks(); | 21140 isolate->RunMicrotasks(); |
| 21137 { | 21141 { |
| 21138 Context::Scope context_scope(context); | 21142 Context::Scope context_scope(context); |
| 21139 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(context).FromJust()); | 21143 CHECK_EQ(1, CompileRun("ext1Calls")->Int32Value(context).FromJust()); |
| 21140 } | 21144 } |
| 21141 isolate->SetAutorunMicrotasks(true); | 21145 isolate->SetMicrotasksPolicy(v8::MicrotasksPolicy::kAuto); |
| 21142 } | 21146 } |
| 21143 | 21147 |
| 21144 | 21148 |
| 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 |
| 21145 static void DebugEventInObserver(const v8::Debug::EventDetails& event_details) { | 21289 static void DebugEventInObserver(const v8::Debug::EventDetails& event_details) { |
| 21146 v8::DebugEvent event = event_details.GetEvent(); | 21290 v8::DebugEvent event = event_details.GetEvent(); |
| 21147 if (event != v8::Break) return; | 21291 if (event != v8::Break) return; |
| 21148 Local<Object> exec_state = event_details.GetExecutionState(); | 21292 Local<Object> exec_state = event_details.GetExecutionState(); |
| 21149 Local<Context> context = CcTest::isolate()->GetCurrentContext(); | 21293 Local<Context> context = CcTest::isolate()->GetCurrentContext(); |
| 21150 Local<Value> break_id = | 21294 Local<Value> break_id = |
| 21151 exec_state->Get(context, v8_str("break_id")).ToLocalChecked(); | 21295 exec_state->Get(context, v8_str("break_id")).ToLocalChecked(); |
| 21152 CompileRun("function f(id) { new FrameDetails(id, 0); }"); | 21296 CompileRun("function f(id) { new FrameDetails(id, 0); }"); |
| 21153 Local<Function> fun = Local<Function>::Cast( | 21297 Local<Function> fun = Local<Function>::Cast( |
| 21154 CcTest::global()->Get(context, v8_str("f")).ToLocalChecked()); | 21298 CcTest::global()->Get(context, v8_str("f")).ToLocalChecked()); |
| 21155 fun->Call(context, CcTest::global(), 1, &break_id).ToLocalChecked(); | 21299 fun->Call(context, CcTest::global(), 1, &break_id).ToLocalChecked(); |
| 21156 } | 21300 } |
| 21157 | 21301 |
| 21158 | 21302 |
| 21159 TEST(Regress385349) { | 21303 TEST(Regress385349) { |
| 21160 i::FLAG_harmony_object_observe = true; | 21304 i::FLAG_harmony_object_observe = true; |
| 21161 i::FLAG_allow_natives_syntax = true; | 21305 i::FLAG_allow_natives_syntax = true; |
| 21162 v8::Isolate* isolate = CcTest::isolate(); | 21306 v8::Isolate* isolate = CcTest::isolate(); |
| 21163 HandleScope handle_scope(isolate); | 21307 HandleScope handle_scope(isolate); |
| 21164 isolate->SetAutorunMicrotasks(false); | 21308 isolate->SetMicrotasksPolicy(v8::MicrotasksPolicy::kExplicit); |
| 21165 Local<Context> context = Context::New(isolate); | 21309 Local<Context> context = Context::New(isolate); |
| 21166 v8::Debug::SetDebugEventListener(isolate, DebugEventInObserver); | 21310 v8::Debug::SetDebugEventListener(isolate, DebugEventInObserver); |
| 21167 { | 21311 { |
| 21168 Context::Scope context_scope(context); | 21312 Context::Scope context_scope(context); |
| 21169 CompileRun("var obj = {};" | 21313 CompileRun("var obj = {};" |
| 21170 "Object.observe(obj, function(changes) { debugger; });" | 21314 "Object.observe(obj, function(changes) { debugger; });" |
| 21171 "obj.a = 0;"); | 21315 "obj.a = 0;"); |
| 21172 } | 21316 } |
| 21173 isolate->RunMicrotasks(); | 21317 isolate->RunMicrotasks(); |
| 21174 isolate->SetAutorunMicrotasks(true); | 21318 isolate->SetMicrotasksPolicy(v8::MicrotasksPolicy::kAuto); |
| 21175 v8::Debug::SetDebugEventListener(isolate, nullptr); | 21319 v8::Debug::SetDebugEventListener(isolate, nullptr); |
| 21176 } | 21320 } |
| 21177 | 21321 |
| 21178 | 21322 |
| 21179 #ifdef ENABLE_DISASSEMBLER | 21323 #ifdef ENABLE_DISASSEMBLER |
| 21180 static int probes_counter = 0; | 21324 static int probes_counter = 0; |
| 21181 static int misses_counter = 0; | 21325 static int misses_counter = 0; |
| 21182 static int updates_counter = 0; | 21326 static int updates_counter = 0; |
| 21183 | 21327 |
| 21184 | 21328 |
| (...skipping 3787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 24972 CHECK(proxy->GetTarget()->SameValue(target)); | 25116 CHECK(proxy->GetTarget()->SameValue(target)); |
| 24973 CHECK(proxy->GetHandler()->SameValue(handler)); | 25117 CHECK(proxy->GetHandler()->SameValue(handler)); |
| 24974 | 25118 |
| 24975 proxy->Revoke(); | 25119 proxy->Revoke(); |
| 24976 CHECK(proxy->IsProxy()); | 25120 CHECK(proxy->IsProxy()); |
| 24977 CHECK(!target->IsProxy()); | 25121 CHECK(!target->IsProxy()); |
| 24978 CHECK(proxy->IsRevoked()); | 25122 CHECK(proxy->IsRevoked()); |
| 24979 CHECK(proxy->GetTarget()->SameValue(target)); | 25123 CHECK(proxy->GetTarget()->SameValue(target)); |
| 24980 CHECK(proxy->GetHandler()->IsNull()); | 25124 CHECK(proxy->GetHandler()->IsNull()); |
| 24981 } | 25125 } |
| OLD | NEW |