v8/include
Michael Lippautz e881304978 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}
2020-11-25 15:29:24 +00:00
..
cppgc cppgc: Refactor write barriers 2020-11-25 15:29:24 +00:00
libplatform [api] Introduce a single-threaded version of DefaultPlatform 2020-11-13 17:20:58 +00:00
APIDesign.md Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
DEPS api,heap: Add public version of CppHeap 2020-11-17 11:15:05 +00:00
DIR_METADATA Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
js_protocol-1.2.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol-1.3.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol.pdl Introduce CSPViolation as pause reason (V8) 2020-11-13 09:42:04 +00:00
OWNERS Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
v8-cppgc.h cppgc: Expose write barriers 2020-11-24 17:41:11 +00:00
v8-fast-api-calls.h [fastcall] Turn the options pointer to a reference 2020-10-22 12:44:54 +00:00
v8-inspector-protocol.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-inspector.h Prepare for moving object description generation to blink (ValueMirror) 2020-10-29 09:39:11 +00:00
v8-internal.h [fastcall] Add CPU profiler support for fast calls 2020-11-18 12:29:22 +00:00
v8-metrics.h (Step 3 of 3): Prepping Wasm events in the Recorder interface 2020-11-24 21:02:32 +00:00
v8-platform.h [Jobs API] Rename !IsCompleted -> IsActive 2020-10-30 19:57:38 +00:00
v8-profiler.h Reland "cppgc-js: heap snapshot: Add logic for querying detachedness" 2020-10-29 09:18:21 +00:00
v8-unwinder-state.h [unwinder] Restore callee saved registers after unwinding in arm32 2020-10-20 12:32:09 +00:00
v8-util.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-value-serializer-version.h Expose the ValueSerializer data format version as a compile-time constant. 2017-04-27 15:14:41 +00:00
v8-version-string.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-version.h Change Version number to 8.9 2020-11-12 11:55:44 +00:00
v8-wasm-trap-handler-posix.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-wasm-trap-handler-win.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8.h [modules] Add refactored API to get ModuleRequests and expose import assertions 2020-11-24 21:16:02 +00:00
v8config.h [config] Add [[nodiscard]] as an attribute to v8config 2020-11-25 11:49:05 +00:00