5#ifndef INCLUDE_V8_CPPGC_H_
6#define INCLUDE_V8_CPPGC_H_
12#include "cppgc/common.h"
13#include "cppgc/custom-space.h"
14#include "cppgc/heap-statistics.h"
15#include "cppgc/visitor.h"
21class AllocationHandle;
37 std::vector<std::unique_ptr<cppgc::CustomSpaceBase>> custom_spaces)
45
46
47
51
52
53
59
60
61
62
63
64
73
74
75
79
80
81
85
86
87
88
89
90 V8_DEPRECATED(
"Terminate gets automatically called in the CppHeap destructor")
94
95
96
97
98
103
104
105
106
107
109 std::vector<cppgc::CustomSpaceIndex> custom_spaces,
110 std::unique_ptr<CustomSpaceStatisticsReceiver> receiver);
113
114
115
116
120
121
122
123
127
128
129
130
157
158
159
160
165
166
167
168
169
170
171
183 return {
nullptr,
Trace};
@ kIncrementalAndConcurrent
@ kIncrementalAndConcurrent
friend class TracedReference
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)
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)
CppHeapCreateParams(const CppHeapCreateParams &)=delete
cppgc::Heap::SweepingType sweeping_support
CppHeapCreateParams & operator=(const CppHeapCreateParams &)=delete
cppgc::Heap::MarkingType marking_support
CppHeapCreateParams(std::vector< std::unique_ptr< cppgc::CustomSpaceBase > > custom_spaces)
std::vector< std::unique_ptr< cppgc::CustomSpaceBase > > custom_spaces
#define V8_DEPRECATED(message)