• Ulan Degenbaev's avatar
    Reland "[heap] Add mechanism for tracking invalidated slots per memory chunk." · d4a742fd
    Ulan Degenbaev authored
    This reverts commit c59b81d7.
    
    Original change's description:
    > [heap] Add mechanism for tracking invalidated slots per memory chunk.
    
    > For correct slots recording in concurrent marker, we need to resolve
    > the race that happens when
    > 1) the mutator is invalidating slots for double unboxing or string
    > conversions
    > 2) and the concurrent marker is recording these slots.
    
    > This patch adds a data-structure for tracking the invalidated objects.
    > Thus we can allow the concurrent marker to record slots without
    > worrying about clearing them. During old-to-old pointer updating phase
    > we re-check all slots that belong to the invalidated objects.
    
    BUG=chromium:694255
    
    Change-Id: Idf8927d162377a7bbdff34f81a87e52db27d6a9f
    Reviewed-on: https://chromium-review.googlesource.com/596868Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47068}
    d4a742fd
runtime-object.cc 42.2 KB