#include <testing.h>
Public Member Functions | |
StandaloneTestingHeap (HeapHandle &) | |
void | StartGarbageCollection () |
bool | PerformMarkingStep (EmbedderStackState stack_state) |
void | FinalizeGarbageCollection (EmbedderStackState stack_state) |
void | ToggleMainThreadMarking (bool should_mark) |
void | ForceCompactionForNextGarbageCollection () |
Testing interface for managed heaps that allows for controlling garbage collection timings. Embedders should use this class when testing the interaction of their code with incremental/concurrent garbage collection.
|
explicit |
void cppgc::testing::StandaloneTestingHeap::FinalizeGarbageCollection | ( | EmbedderStackState | stack_state | ) |
Finalize the current garbage collection cycle atomically. Assumes that garbage collection is in progress.
stack_state | The state of the stack for finalizing the garbage collection cycle. |
void cppgc::testing::StandaloneTestingHeap::ForceCompactionForNextGarbageCollection | ( | ) |
Force enable compaction for the next garbage collection cycle.
bool cppgc::testing::StandaloneTestingHeap::PerformMarkingStep | ( | EmbedderStackState | stack_state | ) |
Perform an incremental step. This will also schedule concurrent steps if needed.
stack_state | The state of the stack during the step. |
void cppgc::testing::StandaloneTestingHeap::StartGarbageCollection | ( | ) |
Start an incremental garbage collection.
void cppgc::testing::StandaloneTestingHeap::ToggleMainThreadMarking | ( | bool | should_mark | ) |
Toggle main thread marking on/off. Allows to stress concurrent marking (e.g. to better detect data races).
should_mark | Denotes whether the main thread should contribute to marking. Defaults to true. |