core.internal.gc.blkcache

BlkInfo thread-local cache. Used for array appending in the conservative GC to avoid the lock when possible.

Note

this used to be in rt.lifetime, but was moved here to allow GCs to take over array operations.

Types 4

enumIsMarked : int

Indicates whether an address has been marked by the GC.

noAddress is not marked.
yesAddress is marked.
unknownAddress is not managed by the GC.
aliasIsMarkedDg = IsMarked delegate(void * addr) nothrow

The isMarked callback function.

Functions 5

fnBlkInfo *__blkcache __blkcache() @property nothrow @nogc
fnvoid cleanupBlkCache(void * storage) nothrow @nogc
fnvoid processGCMarks(void * data, scope IsMarkedDg isMarked) nothrow
fnBlkInfo *__getBlkInfo __getBlkInfo(void * interior) nothrow @nogcGet the cached block info of an interior pointer. Returns null if the interior pointer's block is not cached.
fnvoid __insertBlkInfoCache(BlkInfo bi, BlkInfo * curpos) nothrow @nogc

Variables 2

private enumvarN_CACHE_BLOCKS = 8

cache for the lookup of the block info

varBlkInfo *__blkcache_storage __blkcache_storage