v8 13.6.233 (node 24.1.0)
V8 is Google's open source JavaScript engine
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
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)
 

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/v8Unlocker APIs which is different from generic Oilpan.

Definition at line 65 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 indices.
receiveran object that gets the results.

References CollectCustomSpaceStatisticsAtLastGC().

Referenced by CollectCustomSpaceStatisticsAtLastGC().

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

References CollectGarbageForTesting().

Referenced by CollectGarbageForTesting().

◆ CollectGarbageInYoungGenerationForTesting()

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

References CollectGarbageInYoungGenerationForTesting(), and internal::CppHeap.

Referenced by CollectGarbageInYoungGenerationForTesting().

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

References CollectStatistics().

Referenced by CollectStatistics().

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

References EnableDetachedGarbageCollectionsForTesting().

Referenced by EnableDetachedGarbageCollectionsForTesting().

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

References Terminate().

Referenced by Terminate().

Friends And Related Symbol Documentation

◆ internal::CppHeap

friend class internal::CppHeap
friend

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

References internal::CppHeap.

Referenced by CollectGarbageInYoungGenerationForTesting(), and internal::CppHeap.


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