DescriptionAdd {CancelableTaskManager} to handle {Cancelable} concurrent tasks.
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
Committed: https://crrev.com/60e7ea8a9970f5a08c14a0aa052c099ac4ea4c08
Cr-Commit-Position: refs/heads/master@{#31997}
Patch Set 1 : First try: incomplete/blocking #
Total comments: 6
Patch Set 2 : Improved version #Patch Set 3 : Fixed concurrent version including unittests #
Total comments: 1
Patch Set 4 : Minor api fixes #Patch Set 5 : Fix test and api #
Total comments: 9
Patch Set 6 : Addressed API comments #
Total comments: 14
Patch Set 7 : Addressed comments #
Messages
Total messages: 39 (23 generated)
|