e881304978
Refactor write barriers and split calls, as e.g. DijkstraWriteBarrier also contained logic for recording slots (cards) for the young generation. The new API exposes the following: - GetWriteBarrierType(): Retrieving the type of barrier that must be emitted; - DijkstraWriteBarrier(), DijkstraWriteBarrierRange(): Dijkstra-style write barriers; - SteeleWriteBarrier(): Steele-style write barrier; - GenerationalBarrier(): Barrier for recording slots when using multiple generations; Compilers running with -O3 optimize the DijkstraWriteBarrierPolicy down to the same instructions as before the split. Change-Id: If68839cc6357b2f568986c9ce8ca753b1e96a70a Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557514 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#71407} |
||
---|---|---|
.. | ||
base | ||
cppgc | ||
allocation-observer-unittest.cc | ||
barrier-unittest.cc | ||
bitmap-test-utils.h | ||
bitmap-unittest.cc | ||
code-object-registry-unittest.cc | ||
embedder-tracing-unittest.cc | ||
gc-idle-time-handler-unittest.cc | ||
gc-tracer-unittest.cc | ||
heap-controller-unittest.cc | ||
heap-unittest.cc | ||
heap-utils.h | ||
index-generator-unittest.cc | ||
item-parallel-job-unittest.cc | ||
list-unittest.cc | ||
local-factory-unittest.cc | ||
local-heap-unittest.cc | ||
marking-unittest.cc | ||
marking-worklist-unittest.cc | ||
memory-reducer-unittest.cc | ||
object-start-bitmap-unittest.cc | ||
object-stats-unittest.cc | ||
persistent-handles-unittest.cc | ||
safepoint-unittest.cc | ||
slot-set-unittest.cc | ||
spaces-unittest.cc | ||
traced-reference-unittest.cc | ||
unified-heap-snapshot-unittest.cc | ||
unified-heap-unittest.cc | ||
unified-heap-utils.cc | ||
unified-heap-utils.h | ||
unmapper-unittest.cc | ||
worklist-unittest.cc |