• Samuel Groß's avatar
    [sandbox] Access EPT::start_of_evacuation_area_ atomically · d4d27367
    Samuel Groß authored
    All (most) accesses to start_of_evacuation_area_ must be atomic as that
    value may be written to from a background marking thread (when
    compaction is aborted). Further, when evacuating entries, the
    start_of_evacuation_area_ should not be reloaded during entry allocation
    as it may have been modified by another background thread. In that case,
    the method may end up allocating an evacuation entry _after_ the entry
    to be evacuated, which doesn't make sense.
    
    Drive-by: move some methods from external-pointer-table-inl.h into
    external-pointer-table.cc.
    
    Bug: v8:10391
    Change-Id: Ia93cffb2cc311ef03d96d3a9ae6f0cf461cf2434
    Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3849376Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Samuel Groß <saelo@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82679}
    d4d27367
external-pointer-table-inl.h 7.6 KB