5#ifndef INCLUDE_CPPGC_HEAP_H_
6#define INCLUDE_CPPGC_HEAP_H_
23class AllocationHandle;
53 kSupportsConservativeStackScan,
58 kNoConservativeStackScan,
78 kIncrementalAndConcurrent
98 kIncrementalAndConcurrent
111 size_t initial_heap_size_bytes = 0;
141 StackSupport stack_support = StackSupport::kSupportsConservativeStackScan;
146 MarkingType marking_support = MarkingType::kIncrementalAndConcurrent;
151 SweepingType sweeping_support = SweepingType::kIncrementalAndConcurrent;
168 std::shared_ptr<Platform> platform,
183 const char* source,
const char* reason,
184 StackState stack_state = StackState::kMayContainHeapPointers);
201 friend class internal::Heap;
HeapHandle & GetHeapHandle()
AllocationHandle & GetAllocationHandle()
static std::unique_ptr< Heap > Create(std::shared_ptr< Platform > platform, HeapOptions options=HeapOptions::Default())
void ForceGarbageCollectionSlow(const char *source, const char *reason, StackState stack_state=StackState::kMayContainHeapPointers)
std::vector< std::unique_ptr< CustomSpaceBase > > custom_spaces
static HeapOptions Default()
ResourceConstraints resource_constraints