cppgc: Refactor write barriers
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}
Showing
This diff is collapsed.
Please
register
or
sign in
to comment