v8  9.4.146 (node 16.15.0)
V8 is Google's open source JavaScript engine
CppHeap Class Reference

#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)
 

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.

Definition at line 88 of file v8-cppgc.h.

Constructor & Destructor Documentation

◆ ~CppHeap()

virtual ~CppHeap ( )
virtualdefault

Member Function Documentation

◆ CollectCustomSpaceStatisticsAtLastGC()

void 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 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.

◆ CollectStatistics()

cppgc::HeapStatistics 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> Create ( v8::Platform platform,
const CppHeapCreateParams params 
)
static

◆ EnableDetachedGarbageCollectionsForTesting()

void 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& GetAllocationHandle ( )
Returns
the opaque handle for allocating objects using MakeGarbageCollected().

◆ GetHeapHandle()

cppgc::HeapHandle& 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 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.

Friends And Related Function Documentation

◆ internal::CppHeap

friend class internal::CppHeap
friend

Definition at line 151 of file v8-cppgc.h.


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