#include <heap-consistency.h>
Public Member Functions | |
DisallowGarbageCollectionScope (HeapHandle &heap_handle) | |
~DisallowGarbageCollectionScope () | |
DisallowGarbageCollectionScope (const DisallowGarbageCollectionScope &)=delete | |
DisallowGarbageCollectionScope & | operator= (const DisallowGarbageCollectionScope &)=delete |
Static Public Member Functions | |
static bool | IsGarbageCollectionAllowed (HeapHandle &heap_handle) |
static void | Enter (HeapHandle &heap_handle) |
static void | Leave (HeapHandle &heap_handle) |
Disallows garbage collection finalizations. Any garbage collection triggers result in a crash when in this scope.
Note that the garbage collector already covers paths that can lead to garbage collections, so user code does not require checking IsGarbageCollectionAllowed()
before allocations.
|
explicit |
Constructs a scoped object that automatically enters and leaves a disallow garbage collection scope based on its lifetime.
heap_handle | The corresponding heap. |
cppgc::subtle::DisallowGarbageCollectionScope::~DisallowGarbageCollectionScope | ( | ) |
|
delete |
|
static |
Enters a disallow garbage collection scope. Must be paired with Leave()
. Prefer a scope instance of DisallowGarbageCollectionScope
.
heap_handle | The corresponding heap. |
|
static |
|
static |
Leaves a disallow garbage collection scope. Must be paired with Enter()
. Prefer a scope instance of DisallowGarbageCollectionScope
.
heap_handle | The corresponding heap. |
|
delete |