libmemalloc
v4.0.00
Modern Memory Allocator
|
Manages dynamic memory allocation. More...
#include <libmemalloc.h>
Public Attributes | |
uint8_t * | heap_start |
uint8_t * | heap_end |
size_t | metadata_size |
uintptr_t * | stack_top |
uintptr_t * | stack_bottom |
size_t | num_size_classes |
size_t | num_arenas |
block_header_t * | last_allocated |
block_header_t ** | free_lists |
mem_arena_t * | arenas |
mmap_t * | mmap_list |
gc_thread_t | gc_thread |
Manages dynamic memory allocation.
This structure manages the heap, including free lists for memory blocks, garbage collection, and allocation strategies.
mem_arena_t* mem_allocator_t::arenas |
Array of arena metadata
block_header_t** mem_allocator_t::free_lists |
Segregated free lists by size class
gc_thread_t mem_allocator_t::gc_thread |
Garbage collector controller
uint8_t* mem_allocator_t::heap_end |
Current end of the heap
uint8_t* mem_allocator_t::heap_start |
Base of the user heap region
block_header_t* mem_allocator_t::last_allocated |
Last block returned (NEXT_FIT)
size_t mem_allocator_t::metadata_size |
Bytes reserved for bins and arenas
mmap_t* mem_allocator_t::mmap_list |
Linked list of mmap’d regions
size_t mem_allocator_t::num_arenas |
Number of arena partitions
size_t mem_allocator_t::num_size_classes |
Total size classes available
uintptr_t* mem_allocator_t::stack_bottom |
Lower bound of application stack
uintptr_t* mem_allocator_t::stack_top |
Upper bound of application stack