Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Friends | List of all members
v8::CppHeap Class Reference

#include <v8-cppgc.h>

Public Member Functions

virtual ~CppHeap ()=default
 
cppgc::AllocationHandle & GetAllocationHandle ()
 
cppgc::HeapHandleGetHeapHandle ()
 
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)
 
v8::WrapperDescriptor wrapper_descriptor () const
 

Static Public Member Functions

static std::unique_ptr< CppHeapCreate (v8::Platform *platform, const CppHeapCreateParams &params)
 

Friends

class internal::CppHeap
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~CppHeap()

virtual v8::CppHeap::~CppHeap ( )
virtualdefault

Member Function Documentation

◆ CollectCustomSpaceStatisticsAtLastGC()

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.

Parameters
custom_spacesa collection of custom space indicies.
receiveran object that gets the results.

◆ CollectGarbageForTesting()

void v8::CppHeap::CollectGarbageForTesting ( cppgc::EmbedderStackState  stack_state)

Performs a stop-the-world garbage collection for testing purposes.

Parameters
stack_stateThe stack state to assume for the garbage collection.

◆ CollectGarbageInYoungGenerationForTesting()

void v8::CppHeap::CollectGarbageInYoungGenerationForTesting ( cppgc::EmbedderStackState  stack_state)

Performs a stop-the-world minor garbage collection for testing purposes.

Parameters
stack_stateThe stack state to assume for the garbage collection.

◆ CollectStatistics()

cppgc::HeapStatistics v8::CppHeap::CollectStatistics ( cppgc::HeapStatistics::DetailLevel  detail_level)
Parameters
detail_levelspecifies whether should return detailed statistics or only brief summary statistics.
Returns
current CppHeap statistics regarding memory consumption and utilization.

◆ Create()

static std::unique_ptr< CppHeap > v8::CppHeap::Create ( v8::Platform platform,
const CppHeapCreateParams params 
)
static

◆ EnableDetachedGarbageCollectionsForTesting()

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.

◆ GetAllocationHandle()

cppgc::AllocationHandle & v8::CppHeap::GetAllocationHandle ( )
Returns
the opaque handle for allocating objects using MakeGarbageCollected().

◆ GetHeapHandle()

cppgc::HeapHandle & v8::CppHeap::GetHeapHandle ( )
Returns
the opaque heap handle which may be used to refer to this heap in other APIs. Valid as long as the underlying CppHeap is alive.

◆ Terminate()

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.

◆ wrapper_descriptor()

v8::WrapperDescriptor v8::CppHeap::wrapper_descriptor ( ) const
Returns
the wrapper descriptor of this CppHeap.

Friends And Related Function Documentation

◆ internal::CppHeap

friend class internal::CppHeap
friend

The documentation for this class was generated from the following file: