5#ifndef INCLUDE_V8_CPPGC_H_
6#define INCLUDE_V8_CPPGC_H_
21class AllocationHandle;
81 std::vector<std::unique_ptr<cppgc::CustomSpaceBase>> custom_spaces,
83 : custom_spaces(std::move(custom_spaces)),
84 wrapper_descriptor(wrapper_descriptor) {}
155 std::vector<cppgc::CustomSpaceIndex> custom_spaces,
156 std::unique_ptr<CustomSpaceStatisticsReceiver> receiver);
188 friend class internal::CppHeap;
234 return {
nullptr,
Trace};
@ kIncrementalAndConcurrent
@ kIncrementalAndConcurrent
virtual void Visit(const void *self, TraceDescriptor)
virtual ~CppHeap()=default
cppgc::HeapHandle & GetHeapHandle()
void EnableDetachedGarbageCollectionsForTesting()
cppgc::HeapStatistics CollectStatistics(cppgc::HeapStatistics::DetailLevel detail_level)
void CollectGarbageInYoungGenerationForTesting(cppgc::EmbedderStackState stack_state)
void CollectGarbageForTesting(cppgc::EmbedderStackState stack_state)
v8::WrapperDescriptor wrapper_descriptor() const
void CollectCustomSpaceStatisticsAtLastGC(std::vector< cppgc::CustomSpaceIndex > custom_spaces, std::unique_ptr< CustomSpaceStatisticsReceiver > receiver)
cppgc::AllocationHandle & GetAllocationHandle()
static std::unique_ptr< CppHeap > Create(v8::Platform *platform, const CppHeapCreateParams ¶ms)
virtual void AllocatedBytes(cppgc::CustomSpaceIndex space_index, size_t bytes)=0
virtual ~CustomSpaceStatisticsReceiver()=default
void Trace(const TracedReferenceBase &ref)
~JSVisitor() override=default
virtual void Visit(const TracedReferenceBase &ref)
JSVisitor(cppgc::Visitor::Key key)
bool IsEmptyThreadSafe() const
static void Trace(Visitor *visitor, const void *self)
static cppgc::TraceDescriptor GetTraceDescriptor(const void *self)
static void Trace(Visitor *visitor, const void *self)
WrapperDescriptor wrapper_descriptor
CppHeapCreateParams(const CppHeapCreateParams &)=delete
CppHeapCreateParams & operator=(const CppHeapCreateParams &)=delete
CppHeapCreateParams(std::vector< std::unique_ptr< cppgc::CustomSpaceBase > > custom_spaces, WrapperDescriptor wrapper_descriptor)
std::vector< std::unique_ptr< cppgc::CustomSpaceBase > > custom_spaces
static constexpr uint16_t kUnknownEmbedderId
InternalFieldIndex wrappable_type_index
InternalFieldIndex wrappable_instance_index
constexpr WrapperDescriptor(InternalFieldIndex wrappable_type_index, InternalFieldIndex wrappable_instance_index, uint16_t embedder_id_for_garbage_collected)
uint16_t embedder_id_for_garbage_collected