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 |