V8  latest master commit
V8 is Google's open source JavaScript engine
cppgc::MakeGarbageCollectedTraitBase< T > Class Template Reference

#include <allocation.h>

Inheritance diagram for cppgc::MakeGarbageCollectedTraitBase< T >:
cppgc::MakeGarbageCollectedTrait< T >

Static Protected Member Functions

static void * Allocate (Heap *heap, 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 21 of file allocation.h.

Member Function Documentation

◆ Allocate()

template<typename T >
static void* cppgc::MakeGarbageCollectedTraitBase< T >::Allocate ( Heap heap,
size_t  size 
)
inlinestaticprotected

Allocates memory for an object of type T.

Parameters
heapThe heap to allocate this 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 88 of file allocation.h.

◆ MarkObjectAsFullyConstructed()

template<typename T >
static void cppgc::MakeGarbageCollectedTraitBase< T >::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 98 of file allocation.h.


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