segregated_gc

A GC with segregated allocations using D's static foreach.

Members

Classes

SegregatedGC
class SegregatedGC
Undocumented in source.

Functions

ceilPow2
size_t ceilPow2(size_t sz)

Ceiling to closest to size class of sz.

onOutOfMemoryError
void onOutOfMemoryError(void* pretend_sideffect)
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Manifest constants

PAGESIZE
enum PAGESIZE;

< Page size in bytes. Linux $(shell getconf PAGESIZE).

WORDSIZE
enum WORDSIZE;

< Size of word type (size_t).

minimumSmallPageWordCount
enum minimumSmallPageWordCount;
Undocumented in source.
pageTableCapacityDefault
enum pageTableCapacityDefault;
Undocumented in source.

Static variables

mediumSizeClasses
auto mediumSizeClasses;
Undocumented in source.
smallSizeClasses
auto smallSizeClasses;

Small slot sizes classes (in bytes).

Structs

Gcx
struct Gcx
Undocumented in source.
SmallPage
struct SmallPage(uint sizeClass)

Small page storing slots of size sizeClass.

SmallPageTable
struct SmallPageTable(uint sizeClass)
Undocumented in source.
SmallPool
struct SmallPool(uint sizeClass, bool pointerFlag)

Small pool of pages.

SmallPools
struct SmallPools

All small pools.

SmallSlot
struct SmallSlot(uint wordCount)

Small slot foreach slot contains wordCount machine words.

Variables

tlGcx
Gcx tlGcx;
Undocumented in source.

Meta

Authors

Per Nordlöw