• Leszek Swirski's avatar
    [compiler-dispatcher] Delete Jobs as BG work · 85877e54
    Leszek Swirski authored
    Deleting / deallocating Jobs, along with everything they own (e.g.
    PersistentHandles), can take a long time, especially if the allocator
    isn't too friendly to deallocating on a different thread than where the
    allocation happened.
    
    Instead, enqueue Jobs for deletion as part of background processing,
    with the hope that they end up being deallocated on the same thread as
    they were allocated, and at the very least taking the deallocation time
    off the main thread. The deletion queue is processed after the pending
    background jobs are all processed, and counts as a single "background
    job" as far as parallelism is concerned.
    
    Bug: chromium:1275157
    Change-Id: Ie7c3f725f7e510b4325e7590e60477338c478388
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3314835Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78307}
    85877e54
lazy-compile-dispatcher.h 7.94 KB