• Samuel Groß's avatar
    [sandbox] Fix DCHECK failure in ExternalPointerTable · 568221ee
    Samuel Groß authored
    When compaction is aborted during marking, the
    start_of_evacuation_area_ value would previously be set to -1. This
    would, however, cause some DCHECK failures during sweeping, which
    expect this value to contain the (previous) start value. This is now
    fixed by just setting the top bits of the start_of_evacuation_area_
    value when aborting compaction. During sweeping, these bits are
    cleared again and the DCHECKs work as expected.
    
    Bug: v8:10391, chromium:1355640
    Change-Id: Id48ee71a3942b3e0b88e8e1667a8f9e109a68bb3
    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/+/3849650
    Commit-Queue: Samuel Groß <saelo@chromium.org>
    Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82661}
    568221ee
external-pointer-table-inl.h 9.2 KB