v8/include/cppgc
Omer Katz c174643b08 cppgc: Implement process-global state accessors.
Process global accessors for total physical size and used size are
needed for blink. These are implemented via an allocation observer that
atomically updates static counters.

The public api only provides getters for the counters. An internal class
is in charge of updating the counters as needed. A similar split is also
applied to IsAnyIncrementalOrConcurrentMarking().

Drive-by: ProcessHeap is merged into cppgc::internal::WriteBarrier.

Bug: chromium:1056170
Change-Id: Iaedebd1ac9d49238ce6bdd52ffa5d1ef4d28203d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2695394
Commit-Queue: Omer Katz <omerkatz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72832}
2021-02-17 22:37:24 +00:00
..
internal cppgc: Implement process-global state accessors. 2021-02-17 22:37:24 +00:00
allocation.h cppgc: MakeGarbageCollected: Move static asserts to implementation 2021-01-25 12:17:46 +00:00
common.h cppgc: Random style fixes and comment updates 2021-01-26 22:43:44 +00:00
cross-thread-persistent.h cppgc: Add Persistent capabilitites 2021-02-02 00:25:22 +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
garbage-collected.h cppgc: Improve API documentation 2020-10-19 09:36:18 +00:00
heap-consistency.h cppgc: Fix low-level write barriers 2021-02-05 15:22:04 +00:00
heap-state.h cppgc: Fix low-level write barriers 2021-02-05 15:22:04 +00:00
heap-statistics.h cppgc: Rename allocated_size to physical_size in statistics 2021-02-11 17:44:35 +00:00
heap.h cppgc: Allow to disable incremental marking/sweeping 2020-12-10 15:59:38 +00:00
liveness-broker.h cppgc: Add WeakMember handler to LivenessBroker 2021-01-27 00:33:09 +00:00
macros.h cppgc: Add testing API structure 2021-02-03 16:00:37 +00:00
member.h cppgc: Fix low-level write barriers 2021-02-05 15:22:04 +00:00
name-provider.h cppgc: Add naming infrastructure 2020-10-08 12:25:21 +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: Fix low-level write barriers 2021-02-05 15:22:04 +00:00
platform.h cppgc: Allow multiple calls to InitializeProcess/ShutdownProcess 2021-02-10 17:02:20 +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: Hello world 2020-03-23 21:42:56 +00:00
sentinel-pointer.h cppgc: Fix low-level write barriers 2021-02-05 15:22:04 +00:00
source-location.h cppgc: Improve API documentation 2020-10-19 09:36:18 +00:00
testing.h cppgc: Remove explit setter to enable testing features 2021-02-11 17:23:02 +00:00
trace-trait.h cppgc: Fix IsGarabgeCollected trait and friends 2021-01-22 16:20:46 +00:00
type-traits.h cppgc: Fix GC traits and add documentation 2021-01-22 20:27:09 +00:00
visitor.h cppgc: Remove ephemeron filter 2021-02-17 16:15:05 +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.