• Jakob Gruber's avatar
    [compiler] Thread-safe Map::ComputeMinObjectSlack · e8fd9368
    Jakob Gruber authored
    ComputeMinObjectSlack is called concurrently from background threads
    (when --concurrent-inlining) and must therefore be thread-safe.
    
    This CL adds a compiler-specific thread-safe variant
    of ComputeMinObjectSlack in addition to the plain old non-thread-safe
    one. Thread-safety is achieved through locking: on the bg thread, a
    shared lock when traversing transitions, and on the main thread, an
    additional exclusive critical section when overwriting prototype
    transitions.
    
    Tbr: leszeks@chromium.org
    Bug: v8:7790,v8:12010,chromium:1231901
    Change-Id: If5af83df1ab896b22477921449fb5ba4c8d3e8a3
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3045342
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Auto-Submit: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarSantiago Aboy Solanes <solanes@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#75949}
    e8fd9368
transitions.cc 26.3 KB