v8/include/cppgc
Michael Lippautz 3b82f4c686 cppgc: Expose write barriers
Exposes an opaque handle for uniformly (cppgc and V8) referring to an
instance of a heap.

Exposes a set of raw write barriers for advances embedders through
subtle::HeapConsistency which is a mirror into write barrier internals.
The following barriers are exposed:
- DijkstraWriteBarrier: Regular Dijkstra-style write barrier (add to
  wavefront);
- DijkstraWriteBarrierRange: Same as DijkstraWriteBarrier but
  operating on a range of slots that are composite (inlined) objects;
- SteeleWriteBarrier: Regular Steele-style write barrier (retreating
  wavefront);

Change-Id: Ib5ac280204686bf887690f72df1cdb506ea6ef70
Bug: chromium:1056170
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2554601
Reviewed-by: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#71381}
2020-11-24 17:41:11 +00:00
..
internal cppgc: Expose write barriers 2020-11-24 17:41:11 +00:00
allocation.h cppgc: Add example for AdditionalBytes 2020-11-11 18:06:48 +00:00
common.h heap,cppgc: Update StackState enum values 2020-05-12 12:07:27 +00:00
cross-thread-persistent.h Migrate CrossThreadPersistent 2020-10-09 14:33:57 +00:00
custom-space.h Reland "cppgc: Port backing store compaction." 2020-10-23 14:42:30 +00:00
default-platform.h cppgc: Add tracing scopes 2020-11-19 15:48:17 +00:00
DEPS cppgc: Use libplatform as default platform 2020-10-08 18:16:52 +00:00
ephemeron-pair.h cppgc: Improve API documentation 2020-10-19 09:36:18 +00:00
garbage-collected.h cppgc: Improve API documentation 2020-10-19 09:36:18 +00:00
heap-consistency.h cppgc: Expose write barriers 2020-11-24 17:41:11 +00:00
heap.h cppgc: Expose write barriers 2020-11-24 17:41:11 +00:00
liveness-broker.h cppgc: Improve API documentation 2020-10-19 09:36:18 +00:00
macros.h cppgc: Add initial implementation of young generation 2020-06-17 06:48:10 +00:00
member.h Reland "cppgc: Port backing store compaction." 2020-10-23 14:42:30 +00:00
name-provider.h cppgc: Add naming infrastructure 2020-10-08 12:25:21 +00:00
OWNERS cppgc: Make bikineev and omerkatz owners of include/cppgc 2020-08-28 08:05:30 +00:00
persistent.h Reland "cppgc: Properly clear (Weak)Peristent and WeakMember pointers" 2020-06-19 08:48:49 +00:00
platform.h cppgc: Provide default implementation of Platform::GetTracingController 2020-11-20 15:22:54 +00:00
prefinalizer.h cppgc: Add more basic type traits 2020-11-11 14:59:08 +00:00
README.md cppgc: Hello world 2020-03-23 21:42:56 +00:00
source-location.h cppgc: Improve API documentation 2020-10-19 09:36:18 +00:00
trace-trait.h cppgc: Provide TraceTraitBase that users can inherit from 2020-10-08 19:22:21 +00:00
type-traits.h cppgc: Add more basic type traits 2020-11-11 14:59:08 +00:00
visitor.h cppgc: Add more basic type traits 2020-11-11 14:59:08 +00:00

C++ Garbage Collection

This directory provides an open-source garbage collection library for C++.

The library is under construction, meaning that all APIs in this directory are incomplete and considered unstable and should not be used.