File tree 3 files changed +20
-2
lines changed
3 files changed +20
-2
lines changed Original file line number Diff line number Diff line change 34
34
35
35
# Reset this number to 0 on major V8 upgrades.
36
36
# Increment by one for each non-official patch applied to deps/v8.
37
- 'v8_embedder_string' : '-node.42 ' ,
37
+ 'v8_embedder_string' : '-node.43 ' ,
38
38
39
39
##### V8 defaults for Node.js #####
40
40
Original file line number Diff line number Diff line change @@ -202,10 +202,17 @@ void MicrotaskQueueBuiltinsAssembler::RunSingleMicrotask(
202
202
TNode<Object> const thenable = LoadObjectField (
203
203
microtask, PromiseResolveThenableJobTask::kThenableOffset );
204
204
205
+ RunPromiseHook (Runtime::kPromiseHookBefore , microtask_context,
206
+ CAST (promise_to_resolve));
207
+
205
208
TNode<Object> const result =
206
209
CallBuiltin (Builtins::kPromiseResolveThenableJob , native_context,
207
210
promise_to_resolve, thenable, then);
208
211
GotoIfException (result, &if_exception, &var_exception);
212
+
213
+ RunPromiseHook (Runtime::kPromiseHookAfter , microtask_context,
214
+ CAST (promise_to_resolve));
215
+
209
216
RewindEnteredContext (saved_entered_context_count);
210
217
SetCurrentContext (current_context);
211
218
Goto (&done);
Original file line number Diff line number Diff line change @@ -16350,7 +16350,18 @@ TEST(PromiseHook) {
16350
16350
CHECK_EQ(v8::Promise::kPending, GetPromise("p")->State());
16351
16351
CompileRun("resolve(Promise.resolve(value));\n");
16352
16352
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);
16354
16365
16355
16366
delete promise_hook_data;
16356
16367
isolate->SetPromiseHook(nullptr);
You can’t perform that action at this time.
0 commit comments