#include <heap.h>
Static Public Member Functions | |
static HeapOptions | Default () |
Public Attributes | |
std::vector< std::unique_ptr< CustomSpaceBase > > | custom_spaces |
StackSupport | stack_support = StackSupport::kSupportsConservativeStackScan |
MarkingType | marking_support = MarkingType::kIncrementalAndConcurrent |
SweepingType | sweeping_support = SweepingType::kIncrementalAndConcurrent |
ResourceConstraints | resource_constraints |
Options specifying Heap properties (e.g. custom spaces) when initializing a heap through Heap::Create()
.
|
inlinestatic |
Creates reasonable defaults for instantiating a Heap.
Heap::Create()
. std::vector<std::unique_ptr<CustomSpaceBase> > cppgc::Heap::HeapOptions::custom_spaces |
Custom spaces added to heap are required to have indices forming a numbered sequence starting at 0, i.e., their kSpaceIndex
must correspond to the index they reside in the vector.
MarkingType cppgc::Heap::HeapOptions::marking_support = MarkingType::kIncrementalAndConcurrent |
Specifies which types of marking are supported by the heap.
ResourceConstraints cppgc::Heap::HeapOptions::resource_constraints |
Resource constraints specifying various properties that the internal GC scheduler follows.
StackSupport cppgc::Heap::HeapOptions::stack_support = StackSupport::kSupportsConservativeStackScan |
Specifies whether conservative stack scan is supported. When conservative stack scan is not supported, the collector may try to invoke garbage collections using non-nestable task, which are guaranteed to have no interesting stack, through the provided Platform. If such tasks are not supported by the Platform, the embedder must take care of invoking the GC through ForceGarbageCollectionSlow()
.
SweepingType cppgc::Heap::HeapOptions::sweeping_support = SweepingType::kIncrementalAndConcurrent |
Specifies which types of sweeping are supported by the heap.