07011cc4f0
This replaces Runtime_RunMicrotasks with Runtime_PerformMicrotaskCheckpoint. RunMicrotasks forcibly runs Microtasks even when the microtasks are suppressed, and may causes nested Microtasks in a problematic way. E.g. that confuses v8::MicrotasksScope::IsRunningMicrotasks() and GetEnteredOrMicrotaskContext(). OTOH, PerformMicrotaskCheckpoint() doesn't run cause the failure as it respects the microtask suppressions. As all existing tests don't call RunMicrotasks() in the suppressed situation (like Promise.resolve().then(()=>{%RunMicrotasks();})), this change should not affect to these tests. Change-Id: Ib043a0cc8e482e022d375084d65ea98a6f54ef3d Reviewed-on: https://chromium-review.googlesource.com/c/1360095 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Taiju Tsuiki <tzik@chromium.org> Cr-Commit-Position: refs/heads/master@{#58068} |
||
---|---|---|
.. | ||
async-debug-basic.js | ||
async-debug-builtin-predictions.js | ||
async-debug-caught-exception-cases0.js | ||
async-debug-caught-exception-cases1.js | ||
async-debug-caught-exception-cases2.js | ||
async-debug-caught-exception-cases3.js | ||
async-debug-caught-exception-cases.js | ||
async-debug-caught-exception.js | ||
async-debug-step-abort-at-break.js | ||
async-debug-step-continue-at-break.js | ||
async-debug-step-in-and-out.js | ||
async-debug-step-in-out-out.js | ||
async-debug-step-in.js | ||
async-debug-step-nested.js | ||
async-debug-step-next-constant.js | ||
async-debug-step-next.js | ||
async-debug-step-out.js | ||
async-function-debug-evaluate.js | ||
async-function-debug-scopes.js | ||
debug-async-break-on-stack.js | ||
debug-async-break.js | ||
debug-async-liveedit.js | ||
promise-finally.js |