v8  9.0.257(node16.0.0)
V8 is Google's open source JavaScript engine
MakeGarbageCollectedTraitBase< T > Class Template Reference

#include <allocation.h>

Inheritance diagram for MakeGarbageCollectedTraitBase< T >:

Static Protected Member Functions

static void * Allocate (AllocationHandle &handle, size_t size)
 
static void MarkObjectAsFullyConstructed (const void *payload)
 

Detailed Description

template<typename T>
class cppgc::MakeGarbageCollectedTraitBase< T >

Base trait that provides utilities for advancers users that have custom allocation needs (e.g., overriding size). It's expected that users override MakeGarbageCollectedTrait (see below) and inherit from MakeGarbageCollectedTraitBase and make use of the low-level primitives offered to allocate and construct an object.

Definition at line 20 of file allocation.h.

Member Function Documentation

◆ Allocate()

static void* Allocate ( AllocationHandle &  handle,
size_t  size 
)
inlinestaticprotected

Allocates memory for an object of type T.

Parameters
handleAllocationHandle identifying the heap to allocate the object on.
sizeThe size that should be reserved for the object.
Returns
the memory to construct an object of type T on.

Definition at line 104 of file allocation.h.

◆ MarkObjectAsFullyConstructed()

static void MarkObjectAsFullyConstructed ( const void *  payload)
inlinestaticprotected

Marks an object as fully constructed, resulting in precise handling by the garbage collector.

Parameters
payloadThe base pointer the object is allocated at.

Definition at line 115 of file allocation.h.

References MakeGarbageCollectedTraitInternal::MarkObjectAsFullyConstructed().


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