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 |