diff options
Diffstat (limited to 'deps')
-rw-r--r-- | deps/v8/src/builtins/promise-all.tq | 3 | ||||
-rw-r--r-- | deps/v8/test/mjsunit/promise-hooks.js | 13 |
2 files changed, 13 insertions, 3 deletions
diff --git a/deps/v8/src/builtins/promise-all.tq b/deps/v8/src/builtins/promise-all.tq index 294c5e911c..5ab64a167d 100644 --- a/deps/v8/src/builtins/promise-all.tq +++ b/deps/v8/src/builtins/promise-all.tq @@ -231,8 +231,7 @@ Reject(Object) { // the PromiseReaction (aka we can pass undefined to // PerformPromiseThen), since this is only necessary for DevTools and // PromiseHooks. - if (promiseResolveFunction != Undefined || - IsIsolatePromiseHookEnabledOrDebugIsActiveOrHasAsyncEventDelegate() || + if (promiseResolveFunction != Undefined || NeedsAnyPromiseHooks() || IsPromiseSpeciesProtectorCellInvalid() || Is<Smi>(nextValue) || !IsPromiseThenLookupChainIntact( nativeContext, UnsafeCast<HeapObject>(nextValue).map)) { diff --git a/deps/v8/test/mjsunit/promise-hooks.js b/deps/v8/test/mjsunit/promise-hooks.js index bf51777dce..f7c1558c1d 100644 --- a/deps/v8/test/mjsunit/promise-hooks.js +++ b/deps/v8/test/mjsunit/promise-hooks.js @@ -246,7 +246,7 @@ exceptions(); (function regress1126309() { function __f_16(test) { test(); - d8.promise.setHooks( undefined, () => {}); + d8.promise.setHooks(undefined, () => {}); %PerformMicrotaskCheckpoint(); d8.promise.setHooks(); } @@ -262,3 +262,14 @@ exceptions(); %PerformMicrotaskCheckpoint(); d8.promise.setHooks(); })(); + + +(function promiseAll() { + let initCount = 0; + d8.promise.setHooks(() => { initCount++}); + Promise.all([Promise.resolve(1)]); + %PerformMicrotaskCheckpoint(); + assertEquals(initCount, 3); + + d8.promise.setHooks(); +})(); |