module vrt.gc.design

Holds documentation and defines for the Volt garbage collector.

Code Map

//! Holds documentation and defines for the Volt garbage collector.
module vrt.gc.design;

public import vrt.vacuum.defines;


enum PageSizeLog;
enum PageSize;
enum PageMask;
//! Hardcoded to 2MB for now as we are always on x86.
enum HugePageSize;
//! Used to decide the GigaMan allocation size.
enum GigaSize;
//! Minimum allocation size by which all allocation around rounded up to.
enum MinAllocSize;
//! Safety check for maximum allocation size.
enum MaxAllocSize;

//! Internal stat struct, has a lot more statistics then regular but
//! changes more often.
struct InternalStats
{
public:
	base: Stats;
	numFreeSlots: u32[13];
	numUsedSlots: u32[13];
}
enum HugePageSize

Hardcoded to 2MB for now as we are always on x86.

enum GigaSize

Used to decide the GigaMan allocation size.

enum MinAllocSize

Minimum allocation size by which all allocation around rounded up to.

enum MaxAllocSize

Safety check for maximum allocation size.

struct InternalStats

Internal stat struct, has a lot more statistics then regular but changes more often.