• 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
Name
Last commit
Last update
..
api Loading commit data...
asmjs Loading commit data...
assembler Loading commit data...
base Loading commit data...
codegen Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
date Loading commit data...
diagnostics Loading commit data...
execution Loading commit data...
heap Loading commit data...
interpreter Loading commit data...
libplatform Loading commit data...
logging Loading commit data...
numbers Loading commit data...
objects Loading commit data...
parser Loading commit data...
profiler Loading commit data...
regress Loading commit data...
strings Loading commit data...
tasks Loading commit data...
torque Loading commit data...
utils Loading commit data...
wasm Loading commit data...
zone Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
run-all-unittests.cc Loading commit data...
test-helpers.cc Loading commit data...
test-helpers.h Loading commit data...
test-utils.cc Loading commit data...
test-utils.h Loading commit data...
testcfg.py Loading commit data...
unittests.status Loading commit data...