• mlippautz's avatar
    Add {CancelableTaskManager} to handle {Cancelable} concurrent tasks. · 60e7ea8a
    mlippautz authored
    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}
    60e7ea8a
incremental-marking-job.cc 4.98 KB