60e7ea8a99
This change binds each {Cancelable} task to a so-called {CancelableTaskManager}, which is then used to handle concurrent cancelation as well as synchronizing shutdown for already running tasks. Since ownership of tasks is transferred to the platform executing a task (destructor), handling in the manager uses integer ids. Note that this also mitigates (modulo integer size) the ABA problem. All handling of {Cancelable} tasks is now encapsulated into the corresponding manager, which is instantiated for each isolate. R=hpayer@chromium.org BUG=chromium:524425 LOG=N CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg;tryserver.v8:v8_linux_gc_stress_dbg;tryserver.v8:v8_mac_gc_stress_dbg;tryserver.v8:v8_linux64_msan_rel;tryserver.v8:v8_linux64_tsan_rel;tryserver.v8:v8_mac64_asan_rel Review URL: https://codereview.chromium.org/1409993012 Cr-Commit-Position: refs/heads/master@{#31997} |
||
---|---|---|
.. | ||
base | ||
compiler | ||
heap | ||
interpreter | ||
libplatform | ||
runtime | ||
atomic-utils-unittest.cc | ||
cancelable-tasks-unittest.cc | ||
char-predicates-unittest.cc | ||
counters-unittest.cc | ||
DEPS | ||
run-all-unittests.cc | ||
test-utils.cc | ||
test-utils.h | ||
unittests.gyp | ||
unittests.isolate | ||
unittests.status |