• Dominik Inführ's avatar
    [objects] Add ArrayBufferExtension class · 69fda08a
    Dominik Inführ authored
    This CL adds the ArrayBufferExtension class, which is used to track
    JSArrayBuffers in a linked list. The ArrayBufferExtension is going to
    replace the ArrayBufferTracker in the future but is currently behind
    the v8_enable_array_buffer_extension feature flag.
    
    When enabled, each JSArrayBuffer has a corresponding native-heap
    allocated ArrayBufferExtension object. All extensions are currently
    tracked in a single linked list. During marking the GC not only
    marks the JSArrayBuffer but also its extension object. At the end of
    mark-compact the GC iterates all extensions and removes unmarked ones.
    
    Change-Id: I88298be255944d5ae1327c91b0d7f0fdbcd486d5
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1969791Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#65724}
    69fda08a
mark-compact.cc 181 KB