module vrt.gc.extent
Holds the code for managing extents.
Code Map
//! Holds the code for managing extents.
module vrt.gc.extent;
//! Metadata about a single region of user allocated memory.
struct Extent
{
public:
enum SlabShift;
enum SlabMask;
enum KindShift;
enum KindMask;
enum MarkedShift;
enum MarkedMask;
enum InternalShift;
enum InternalMask;
enum DataMask;
enum Alignment;
public:
enum Kind
{
None,
Ptr,
Fin,
PtrFin,
}
public:
node: UnionNode;
public:
fn setupSlab(ptr: void*, n: size_t, finalizer: bool, pointers: bool, internal: bool) { }
fn setupLarge(ptr: void*, n: size_t, finalizer: bool, pointers: bool, internal: bool) { }
fn ptr() void* { }
fn data() size_t { }
fn data(d: size_t) { }
fn size() size_t { }
fn min() size_t { }
fn max() size_t { }
fn isInternal() bool { }
fn isSlab() bool { }
fn isLarge() bool { }
fn kind() Kind { }
fn hasFinalizer() bool { }
fn hasPointers() bool { }
public:
static fn makeKind(finalizer: bool, pointers: bool) Kind { }
}
struct Extent
Metadata about a single region of user allocated memory.