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} |
||
---|---|---|
.. | ||
basics.js | ||
cleanup-doesnt-iterate-all-cells.js | ||
cleanup-from-different-realm.js | ||
cleanup-is-a-microtask.js | ||
cleanup-proxy-from-different-realm.js | ||
cleanupsome-cleared-weakcell.js | ||
cleanupsome-dereffed-and-cleared-weakref.js | ||
cleanupsome-dereffed-weakref.js | ||
cleanupsome-weakcell.js | ||
cleanupsome-weakref.js | ||
clear-after-cleanup.js | ||
clear-after-deref.js | ||
clear-before-cleanup.js | ||
clear-called-twice.js | ||
clear-clears-factory-pointer.js | ||
clear-inside-cleanup1.js | ||
clear-inside-cleanup2.js | ||
clear-inside-cleanup3.js | ||
clear-inside-cleanup4.js | ||
clear-when-cleanup-already-scheduled.js | ||
factory-scheduled-for-cleanup-multiple-times.js | ||
iterating-weak-cells.js | ||
multiple-dirty-weak-factories.js | ||
two-weakrefs.js | ||
weak-cell-basics.js | ||
weak-factory-keeps-weak-cells-alive.js | ||
weakcell-and-weakref.js | ||
weakref-creation-keeps-alive.js | ||
weakref-deref-keeps-alive.js |