5#ifndef INCLUDE_V8_CPPGC_H_
6#define INCLUDE_V8_CPPGC_H_
21class AllocationHandle;
37 std::vector<std::unique_ptr<cppgc::CustomSpaceBase>> custom_spaces)
38 : custom_spaces(std::move(custom_spaces)) {}
60 std::optional<cppgc::StackStartMarker> stack_start_marker = std::nullopt;
95 V8_DEPRECATED(
"Terminate gets automatically called in the CppHeap destructor")
113 void CollectCustomSpaceStatisticsAtLastGC(
114 std::vector<
cppgc::CustomSpaceIndex> custom_spaces,
122 void EnableDetachedGarbageCollectionsForTesting();
129 void CollectGarbageForTesting(
cppgc::EmbedderStackState stack_state);
136 void CollectGarbageInYoungGenerationForTesting(
137 cppgc::EmbedderStackState stack_state);
188 return {
nullptr, Trace};
Definition: heap-handle.h:21
MarkingType
Definition: heap.h:72
@ kIncrementalAndConcurrent
SweepingType
Definition: heap.h:92
@ kIncrementalAndConcurrent
virtual void Visit(const void *self, TraceDescriptor)
Definition: visitor.h:379
Definition: v8-cppgc.h:70
virtual ~CppHeap()=default
static std::unique_ptr< CppHeap > Create(v8::Platform *platform, const CppHeapCreateParams ¶ms)
cppgc::HeapHandle & GetHeapHandle()
cppgc::AllocationHandle & GetAllocationHandle()
Definition: v8-cppgc.h:166
virtual void AllocatedBytes(cppgc::CustomSpaceIndex space_index, size_t bytes)=0
virtual ~CustomSpaceStatisticsReceiver()=default
Definition: v8-statistics.h:140
Definition: v8-cppgc.h:145
JSVisitor(cppgc::Visitor::Key key)
Definition: v8-cppgc.h:147
~JSVisitor() override=default
virtual void Visit(const TracedReferenceBase &ref)
Definition: v8-cppgc.h:158
void Trace(const TracedReferenceBase &ref)
Definition: v8-cppgc.h:150
Definition: v8-traced-handle.h:54
bool IsEmptyThreadSafe() const
Definition: v8-traced-handle.h:77
Definition: v8-traced-handle.h:165
Definition: allocation.h:38
Definition: libplatform.h:15
Definition: custom-space.h:15
Definition: trace-trait.h:43
static cppgc::TraceDescriptor GetTraceDescriptor(const void *self)
Definition: v8-cppgc.h:187
static void Trace(Visitor *visitor, const void *self)
Definition: v8-cppgc.h:191
Definition: trace-trait.h:104
Definition: v8-cppgc.h:35
std::vector< std::unique_ptr< cppgc::CustomSpaceBase > > custom_spaces
Definition: v8-cppgc.h:43
CppHeapCreateParams(const CppHeapCreateParams &)=delete
CppHeapCreateParams(std::vector< std::unique_ptr< cppgc::CustomSpaceBase > > custom_spaces)
Definition: v8-cppgc.h:36
CppHeapCreateParams & operator=(const CppHeapCreateParams &)=delete
#define V8_EXPORT
Definition: v8config.h:854
#define V8_DEPRECATED(message)
Definition: v8config.h:613