v8/include/cppgc
Michael Lippautz 22cd803263 cppgc: Update README
Give a little bit of introduction to Oilpan and provide a few links to
navigate the project.

Bug: chromium:1056170
Change-Id: I4ef8c256c8de7932e3393017be6c58ba48ca45f2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3114141
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76457}
2021-08-24 11:56:53 +00:00
..
internal cppgc: Drop high-address stack assumption 2021-08-16 10:18:04 +00:00
allocation.h cppgc: Optimize GCInfo setup 2021-08-14 11:16:11 +00:00
common.h cppgc: Random style fixes and comment updates 2021-01-26 22:43:44 +00:00
cross-thread-persistent.h cppgc: Fix CTP for destruction 2021-08-24 11:47:21 +00:00
custom-space.h cppgc: Fix CustomSpace trait 2021-01-27 16:48:28 +00:00
default-platform.h cppgc: Fix and merge cppgc samples 2020-11-26 09:12:35 +00:00
DEPS cppgc: Use libplatform as default platform 2020-10-08 18:16:52 +00:00
ephemeron-pair.h cppgc: Check ephemerons for unset key 2021-02-12 16:55:00 +00:00
explicit-management.h cppgc: Adjust explicit management calls 2021-05-05 14:18:37 +00:00
garbage-collected.h cppgc: Add GCInfo folding 2021-03-11 10:53:26 +00:00
heap-consistency.h cppgc: Fix low-level write barriers 2021-02-05 15:22:04 +00:00
heap-state.h cppgc: Add WasConservativeGC to HeapState 2021-02-25 22:54:05 +00:00
heap-statistics.h cppgc: Wire up discarded size 2021-07-12 16:03:50 +00:00
heap.h cppgc: IWYU cleanups 2021-05-20 10:42:29 +00:00
liveness-broker.h cppgc: LivenessBroker: Treat nullptr as live 2021-08-11 11:59:31 +00:00
macros.h cppgc: IWYU cleanups 2021-05-20 10:42:29 +00:00
member.h cppgc: Allow CrossThreadPersistent to access poisoned memory from GC 2021-07-21 19:11:01 +00:00
name-provider.h cppgc: NameProvider:GetName() -> NameProvider::GetHumanReadableName() 2021-06-08 15:56:46 +00:00
object-size-trait.h cppgc: Fix compilation error on older gcc compilers 2021-01-22 23:13:30 +00:00
OWNERS cppgc: Make bikineev and omerkatz owners of include/cppgc 2020-08-28 08:05:30 +00:00
persistent.h cppgc: Allow CrossThreadPersistent to access poisoned memory from GC 2021-07-21 19:11:01 +00:00
platform.h cppgc: Drop high-address stack assumption 2021-08-16 10:18:04 +00:00
prefinalizer.h cppgc: Fix IsGarabgeCollected trait and friends 2021-01-22 16:20:46 +00:00
process-heap-statistics.h cppgc: Implement process-global state accessors. 2021-02-17 22:37:24 +00:00
README.md cppgc: Update README 2021-08-24 11:56:53 +00:00
sentinel-pointer.h [cleanup][include] Remove redundant NOLINT annotations 2021-04-30 16:22:19 +00:00
source-location.h cppgc: IWYU cleanups 2021-05-20 10:42:29 +00:00
testing.h cppgc: Implement testing APIs 2021-04-06 13:44:29 +00:00
trace-trait.h cppgc: Fix IsGarabgeCollected trait and friends 2021-01-22 16:20:46 +00:00
type-traits.h Reland "cppgc: Implement basic Member and Persistent checks" 2021-05-10 12:31:05 +00:00
visitor.h cppgc: Allow CrossThreadPersistent to access poisoned memory from GC 2021-07-21 19:11:01 +00:00

Oilpan: C++ Garbage Collection

Oilpan is an open-source garbage collection library for C++ that can be used stand-alone or in collaboration with V8's JavaScript garbage collector.

Key properties

  • Trace-based garbage collection;
  • Precise on-heap memory layout;
  • Conservative on-stack memory layout;
  • Allows for collection with and without considering stack;
  • Incremental and concurrent marking;
  • Incremental and concurrent sweeping;
  • Non-incremental and non-concurrent compaction for selected spaces;

See the Hello World example on how to get started using Oilpan to manage C++ code.

Oilpan follows V8's project organization, see e.g. on how we accept contributions and provide a stable API.