Photon Fusion 2.0.8

Classes | Public Member Functions | Static Public Member Functions | List of all members
DynamicHeap Struct Reference

A dynamic heap for allocating and tracking unmanaged objects. More...

Classes

class  Ignore
 Ignore this field when scanning for pointers. More...
 

Public Member Functions

delegate void CollectGarbageDelegate (DynamicHeap *heap, void **dynamicRoots, int dynamicRootsLength)
 Collect garbage delegate More...
 

Static Public Member Functions

static void CollectGarbage (DynamicHeap *heap, void **dynamicRoots, int dynamicRootsLength)
 Collect garbage More...
 
static void Free (DynamicHeap *heap, void *ptr)
 Free up an object More...
 
static T * SetForcedAlive< T > (T *ptr)
 Mark an object with ObjectFlags.ForceAlive More...
 

Detailed Description

A dynamic heap for allocating and tracking unmanaged objects.

Member Function Documentation

◆ CollectGarbage()

static void CollectGarbage ( DynamicHeap heap,
void **  dynamicRoots,
int  dynamicRootsLength 
)
static

Collect garbage

Parameters
heapDynamic heap to collect from
dynamicRootsDynamic roots
dynamicRootsLengthDynamic roots length

◆ CollectGarbageDelegate()

delegate void CollectGarbageDelegate ( DynamicHeap heap,
void **  dynamicRoots,
int  dynamicRootsLength 
)

Collect garbage delegate

◆ Free()

static void Free ( DynamicHeap heap,
void *  ptr 
)
static

Free up an object

Parameters
heapHeap to free from
ptrPointer to object
Exceptions
InvalidOperationExceptionThrown if ptr is not a tracked object

◆ SetForcedAlive< T >()

static T* SetForcedAlive< T > ( T *  ptr)
static

Mark an object with ObjectFlags.ForceAlive

Parameters
ptrPointer Object to mark
Template Parameters
TType of object
Returns
Pointer to object
Type Constraints
T :unmanaged