Module stark::sail::memmgt[][src]

Structs

FreeBlock

Block of free memory in a zone, resulting from deallocation

Region

A memory region is a linked list of memory zones, all of the same size

RegionTable

Keeps track of memory zones and which regions they belong to using parallel arrays

Zone

A zone is a contiguous chunk of memory in which Sail objects may be allocated

Constants

MEM_REGION_HEAD_SIZE
MEM_ZONE_HEAD_SIZE

Statics

REGION_TABLE

TODO: allow the user to handle atomic operations if needed? TODO: global memory, thread local memory

Functions

acquire_mem_region

Creates a new memory region and accompanying zone

alloc

Allocates space in the given region for a Sail object, and preinitializes it

new_mem_zone

Creates and links in a new memory zone within the given region

which_mem_area

Returns the region and zone in which a given Sail object is stored