• Michael Lippautz's avatar
    [heap] Fix race when setting aborted compaction flag · 72702084
    Michael Lippautz authored
    When compaction is aborted we used to remember this in a data structure
    and in a flag on the page that was set by the compacting thread.
    
    Setting the flag races with other threads recording old-to-old slots and
    thus checking the page's flags.
    
    Since we already record the page in a data structure, we can delay
    setting the flag on the page until post processing aborted compaction
    pages right after the evacuation phase.
    
    Bug: v8:7125
    Change-Id: I20d109f0f69cf8eab90ed355c113abc6a2f606da
    Reviewed-on: https://chromium-review.googlesource.com/789931Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49625}
    72702084
mark-compact.cc 164 KB