• Leszek Swirski's avatar
    Revert "cppgc: Stack scanning using ObjectStartBitmap" · 580917d2
    Leszek Swirski authored
    This reverts commit d3a72e3c.
    
    Reason for revert: MSAN failures (https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/32360)
    
    Original change's description:
    > cppgc: Stack scanning using ObjectStartBitmap
    > 
    > This CL implements stack scanning for cppgc.
    > Given a value on the stack, the MarkingVisitor uses
    > PageBackend::Lookup to checks whether that address is on
    > the heap. If it is, BasePage::TryObjectHeaderFromInnerAddress
    > (introduced in this CL) is used to get the relevant object
    > header. Note that random addresses on the heap might point to
    > free memory, object-start-bitmap, etc.
    > 
    > If a valid object header is found:
    > * If the object is not in construction, the GCInfoIndex is used
    > the get the relevant Trace method and the object is traced.
    > * Otherwise, the object is conservatively scanned - i.e. the
    > payload of the object is iterated word by word and each word is
    > treated as a possible pointer.
    > 
    > Only addresses pointing to the payload on non-free objects are
    > traced.
    > 
    > BasePage::TryObjectHeaderFromInnerAddress assumes on LAB on the
    > relevant space, thus all LABs are reset before scanning the stack.
    > 
    > Bug: chromium:1056170
    > Change-Id: I172850f6f1bbb6f0efca8e44ad8fdfe222977b9f
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2190426
    > Commit-Queue: Omer Katz <omerkatz@chromium.org>
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    > Reviewed-by: Anton Bikineev <bikineev@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#67795}
    
    TBR=ulan@chromium.org,mlippautz@chromium.org,bikineev@chromium.org,omerkatz@chromium.org
    
    Change-Id: I3caef6f9f55911fd1a86e895c3495d1b98b1eac2
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: chromium:1056170
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2201136Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67796}
    580917d2
page-memory.h 6.85 KB