• Leszek Swirski's avatar
    Revert "cppgc-js,heap: Implement snapshots for embedder fields" · 7d4e3d35
    Leszek Swirski authored
    This reverts commit 142dd775.
    
    Reason for revert: TSAN breaks: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20TSAN%20-%20stress-incremental-marking/6113/overview
    
    Original change's description:
    > cppgc-js,heap: Implement snapshots for embedder fields
    >
    > https://crrev.com/c/3293410 added concurrent processing of C++ objects
    > found through V8 embedder fields. The CL missed that those embedder
    > fields are not read atomically from JS objects. The problem is that
    > embedder fields are only aligned to kTaggedSize on builds with pointer
    > compression and are as such mis-aligned for atomic ops. This is not a
    > problem for on-heap values as the upper 32bits are anyways computed
    > from the cage. Is is a problem for generic C++ values though, as they
    > are used with Oilpan.
    >
    > This CL adds the standard marker snapshot protocol for embedder fields.
    >
    > Marker:
    > 1. Snapshot embedder fields
    > 2. Try to mark host object
    > 3. On success: process snapshot
    >
    > Main thread:
    > 1. On setting embedder fields mark the object black first
    > 2. Emit a write barrier for the embedder fields
    >
    > This will get simpler with the heap sandbox that uses a separate table
    > for embedder fields. Once the sandbox is the default configuration, we
    > 	can use it as dependency for the concurrent fast path.
    >
    > Bug: chromium:1285706
    > Change-Id: I6b975ea561be08cda840ef0dd27a11627de93900
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3380983
    > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
    > Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#78604}
    
    Bug: chromium:1285706
    Change-Id: If1976c0356f450fc068aa4dcc39fb9a0d5417a40
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3386598
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Owners-Override: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Cr-Commit-Position: refs/heads/main@{#78605}
    7d4e3d35
Name
Last commit
Last update
..
benchmarks Loading commit data...
bigint Loading commit data...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
debugging Loading commit data...
fuzzer Loading commit data...
fuzzilli Loading commit data...
inspector Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mkgrokdump Loading commit data...
mozilla Loading commit data...
test262 Loading commit data...
torque Loading commit data...
unittests Loading commit data...
wasm-api-tests Loading commit data...
wasm-js Loading commit data...
wasm-spec-tests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
OWNERS Loading commit data...