File tree Expand file tree Collapse file tree 3 files changed +20
-2
lines changed Expand file tree Collapse file tree 3 files changed +20
-2
lines changed Original file line number Diff line number Diff line change 3434
3535 # Reset this number to 0 on major V8 upgrades.
3636 # Increment by one for each non-official patch applied to deps/v8.
37- 'v8_embedder_string' : '-node.42 ' ,
37+ 'v8_embedder_string' : '-node.43 ' ,
3838
3939 ##### V8 defaults for Node.js #####
4040
Original file line number Diff line number Diff line change @@ -202,10 +202,17 @@ void MicrotaskQueueBuiltinsAssembler::RunSingleMicrotask(
202202 TNode<Object> const thenable = LoadObjectField (
203203 microtask, PromiseResolveThenableJobTask::kThenableOffset );
204204
205+ RunPromiseHook (Runtime::kPromiseHookBefore , microtask_context,
206+ CAST (promise_to_resolve));
207+
205208 TNode<Object> const result =
206209 CallBuiltin (Builtins::kPromiseResolveThenableJob , native_context,
207210 promise_to_resolve, thenable, then);
208211 GotoIfException (result, &if_exception, &var_exception);
212+
213+ RunPromiseHook (Runtime::kPromiseHookAfter , microtask_context,
214+ CAST (promise_to_resolve));
215+
209216 RewindEnteredContext (saved_entered_context_count);
210217 SetCurrentContext (current_context);
211218 Goto (&done);
Original file line number Diff line number Diff line change @@ -16350,7 +16350,18 @@ TEST(PromiseHook) {
1635016350 CHECK_EQ(v8::Promise::kPending, GetPromise("p")->State());
1635116351 CompileRun("resolve(Promise.resolve(value));\n");
1635216352 CHECK_EQ(v8::Promise::kFulfilled, GetPromise("p")->State());
16353- CHECK_EQ(9, promise_hook_data->promise_hook_count);
16353+ CHECK_EQ(11, promise_hook_data->promise_hook_count);
16354+
16355+ promise_hook_data->Reset();
16356+ source =
16357+ "var p = Promise.resolve({\n"
16358+ " then(r) {\n"
16359+ " r();\n"
16360+ " }\n"
16361+ "});";
16362+ CompileRun(source);
16363+ CHECK_EQ(GetPromise("p")->State(), v8::Promise::kFulfilled);
16364+ CHECK_EQ(promise_hook_data->promise_hook_count, 5);
1635416365
1635516366 delete promise_hook_data;
1635616367 isolate->SetPromiseHook(nullptr);
You can’t perform that action at this time.
0 commit comments