#include <v8-cppgc.h>
Public Member Functions | |
virtual | ~CppHeap ()=default |
cppgc::AllocationHandle & | GetAllocationHandle () |
cppgc::HeapHandle & | GetHeapHandle () |
void | Terminate () |
cppgc::HeapStatistics | CollectStatistics (cppgc::HeapStatistics::DetailLevel detail_level) |
void | CollectCustomSpaceStatisticsAtLastGC (std::vector< cppgc::CustomSpaceIndex > custom_spaces, std::unique_ptr< CustomSpaceStatisticsReceiver > receiver) |
void | EnableDetachedGarbageCollectionsForTesting () |
void | CollectGarbageForTesting (cppgc::EmbedderStackState stack_state) |
void | CollectGarbageInYoungGenerationForTesting (cppgc::EmbedderStackState stack_state) |
Static Public Member Functions | |
static std::unique_ptr< CppHeap > | Create (v8::Platform *platform, const CppHeapCreateParams ¶ms) |
Friends | |
class | internal::CppHeap |
A heap for allocating managed C++ objects.
Similar to v8::Isolate, the heap may only be accessed from one thread at a time. The heap may be used from different threads using the v8::Locker/v8::Unlocker APIs which is different from generic Oilpan.
|
virtualdefault |
void v8::CppHeap::CollectCustomSpaceStatisticsAtLastGC | ( | std::vector< cppgc::CustomSpaceIndex > | custom_spaces, |
std::unique_ptr< CustomSpaceStatisticsReceiver > | receiver | ||
) |
Collects statistics for the given spaces and reports them to the receiver.
custom_spaces | a collection of custom space indicies. |
receiver | an object that gets the results. |
void v8::CppHeap::CollectGarbageForTesting | ( | cppgc::EmbedderStackState | stack_state | ) |
Performs a stop-the-world garbage collection for testing purposes.
stack_state | The stack state to assume for the garbage collection. |
void v8::CppHeap::CollectGarbageInYoungGenerationForTesting | ( | cppgc::EmbedderStackState | stack_state | ) |
Performs a stop-the-world minor garbage collection for testing purposes.
stack_state | The stack state to assume for the garbage collection. |
cppgc::HeapStatistics v8::CppHeap::CollectStatistics | ( | cppgc::HeapStatistics::DetailLevel | detail_level | ) |
detail_level | specifies whether should return detailed statistics or only brief summary statistics. |
|
static |
void v8::CppHeap::EnableDetachedGarbageCollectionsForTesting | ( | ) |
Enables a detached mode that allows testing garbage collection using cppgc::testing
APIs. Once used, the heap cannot be attached to an Isolate
anymore.
cppgc::AllocationHandle & v8::CppHeap::GetAllocationHandle | ( | ) |
MakeGarbageCollected()
. cppgc::HeapHandle & v8::CppHeap::GetHeapHandle | ( | ) |
CppHeap
is alive. void v8::CppHeap::Terminate | ( | ) |
Terminate clears all roots and performs multiple garbage collections to reclaim potentially newly created objects in destructors.
After this call, object allocation is prohibited.
|
friend |