v8/test/unittests/heap/cppgc
Anton Bikineev c7dfa3fac8 cppgc: young-gen: Add runtime option for young generation
The CL introduces a new option --cppgc-young-generation. This option
can't be enabled statically, because V8 options are parsed after heap
initialization. The CL changes minor GC so that it can be enabled
dynamically. The way it works is as follows:
- the user calls YoungGenerationEnabler::Enable();
- a heap checks in the next atomic pause whether the flag was enabled;
- if so, the heap enables young generation for itself.

To avoid barrier regressions without young-generation enabled, the CL changes the meaning of the global flag is-any-incremental-or-concurrent-marking to is-barrier-enabled.

The runtime option would enable us to test young generation on try-
and performance-bots.

Bug: chromium:1029379
Change-Id: I664cccdcd208225ffcbf9901f1284b56d088c5c3
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3607993
Commit-Queue: Anton Bikineev <bikineev@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80274}
2022-04-29 08:39:08 +00:00
..
age-table-unittest.cc cppgc: young-gen: Take into account ages of adjacent cards 2022-04-26 10:36:12 +00:00
allocation-unittest.cc Reland "cppgc: Add DCHECK that object start bitmap is safe to use" 2022-03-23 22:58:42 +00:00
compactor-unittest.cc cppgc: Gracefully finish running GC on ~Heap 2021-11-17 13:37:32 +00:00
concurrent-marking-unittest.cc cppgc: Cleanups 2021-03-15 08:37:39 +00:00
concurrent-sweeper-unittest.cc cppgc: Remove debugging info from tests 2021-07-21 16:49:31 +00:00
cross-thread-persistent-unittest.cc Migrate CrossThreadPersistent 2020-10-09 14:33:57 +00:00
custom-spaces-unittest.cc cppgc: Add support for double-word aligned allocations 2021-10-12 13:18:16 +00:00
ephemeron-pair-unittest.cc Revert "cppgc: Add regression test and check for object start bitmap" 2022-03-23 21:07:16 +00:00
explicit-management-unittest.cc cppgc: young-gen: Prepare infra for young generation 2022-02-02 10:29:55 +00:00
finalizer-trait-unittest.cc cppgc: Rename unittest files 2020-05-08 08:50:48 +00:00
free-list-unittest.cc cppgc: Cleanups around testing 2021-03-05 17:04:19 +00:00
garbage-collected-unittest.cc [cppgc] Remove custom void_t, use std 2022-04-06 09:48:21 +00:00
gc-info-unittest.cc cppgc: Replace SetUp/TearDown with ctor/dtor 2021-05-03 16:17:36 +00:00
gc-invoker-unittest.cc testing: OverrideEmbedderStackStateScope should only affect implicit GCs 2022-03-09 14:29:34 +00:00
heap-growing-unittest.cc testing: OverrideEmbedderStackStateScope should only affect implicit GCs 2022-03-09 14:29:34 +00:00
heap-object-header-unittest.cc cppgc: Rename HoH methods 2021-05-12 18:54:43 +00:00
heap-page-unittest.cc cppgc: Returns BasePage::space() as reference 2021-05-26 11:46:10 +00:00
heap-registry-unittest.cc cppgc: Improve Member checking 2021-05-17 13:48:26 +00:00
heap-statistics-collector-unittest.cc cppgc: Add support for double-word aligned allocations 2021-10-12 13:18:16 +00:00
heap-unittest.cc cppgc: Allow querying whether sweeping is active on owning thread 2021-11-26 15:51:30 +00:00
incremental-marking-schedule-unittest.cc cppgc: Fix reporting of marked bytes in the atomic pause 2021-02-18 21:52:14 +00:00
liveness-broker-unittest.cc cppgc: LivenessBroker: Treat nullptr as live 2021-08-11 11:59:31 +00:00
logging-unittest.cc cppgc: fix sourceLocation test on gcc 2021-04-23 21:45:24 +00:00
marker-unittest.cc cppgc-js, heap: Concurrently push references from v8 to Oilpan 2021-12-27 11:34:29 +00:00
marking-verifier-unittest.cc cppgc: Add support for young generation only marking verification 2021-10-25 11:16:28 +00:00
marking-visitor-unittest.cc Revert "cppgc: Add regression test and check for object start bitmap" 2022-03-23 21:07:16 +00:00
member-unittest.cc cppgc: Improve Member checking 2021-05-17 13:48:26 +00:00
metric-recorder-unittest.cc cppgc: young-gen: Extract and report metrics for young GC cycles 2022-04-04 18:33:08 +00:00
minor-gc-unittest.cc cppgc: young-gen: Add runtime option for young generation 2022-04-29 08:39:08 +00:00
name-trait-unittest.cc cppgc: NameProvider:GetName() -> NameProvider::GetHumanReadableName() 2021-06-08 15:56:46 +00:00
object-size-trait-unittest.cc cppgc: Introduce ObjectSizeTrait 2021-01-22 20:53:55 +00:00
object-start-bitmap-unittest.cc cppgc: Remove -inl.h files 2020-07-01 08:46:26 +00:00
page-memory-unittest.cc [heap] V8_OS_MACOSX -> V8_OS_MACOS 2022-03-03 11:09:52 +00:00
persistent-family-unittest.cc cppgc: Persistent: Check thread usage on slow path 2021-12-07 14:32:47 +00:00
platform-unittest.cc cppgc-js: Allow custom OOM handling and redirect to V8 handler 2021-08-24 20:21:28 +00:00
prefinalizer-unittest.cc Revert "cppgc: Add regression test and check for object start bitmap" 2022-03-23 21:07:16 +00:00
run-all-unittests.cc [test] Add a unittest platform setup mixin 2022-04-06 13:07:43 +00:00
sanitizer-unittest.cc cppgc: Allow ASAN-safe memset in SetMemoryInaccessible() 2021-05-07 08:14:17 +00:00
source-location-unittest.cc cppgc: Rename unittest files 2020-05-08 08:50:48 +00:00
stack-unittest.cc cppgc: stack unittest: Fix order of attributes 2021-05-06 23:10:17 +00:00
stats-collector-scopes-unittest.cc cppgc-js, heap: Concurrently push references from v8 to Oilpan 2021-12-27 11:34:29 +00:00
stats-collector-unittest.cc cppgc: Wire up discarded size 2021-07-12 16:03:50 +00:00
sweeper-unittest.cc cppgc: Allow CrossThreadPersistent to access poisoned memory from GC 2021-07-21 19:11:01 +00:00
test-platform.cc cppgc: Add tracing scopes 2020-11-19 15:48:17 +00:00
test-platform.h [config] Add V8_NODISCARD for Scope classes 2020-11-26 11:08:45 +00:00
testing-unittest.cc testing: OverrideEmbedderStackStateScope should only affect implicit GCs 2022-03-09 14:29:34 +00:00
tests.cc [sandbox] Fix sandbox initialisation in cppgc unittests 2022-04-07 11:16:04 +00:00
tests.h Revert "cppgc: Add regression test and check for object start bitmap" 2022-03-23 21:07:16 +00:00
visitor-unittest.cc Revert "cppgc: Add regression test and check for object start bitmap" 2022-03-23 21:07:16 +00:00
weak-container-unittest.cc cppgc: Revise WeakContainerTest.* 2022-04-28 13:31:42 +00:00
workloads-unittest.cc Reland "cppgc: Fix data race ObjectSizeTrait" 2021-11-29 13:14:25 +00:00
write-barrier-unittest.cc cppgc: young-gen: Add runtime option for young generation 2022-04-29 08:39:08 +00:00