18#define ARENA_BLOCK_SIZE 64
void arena_free(arena_t *arena)
Free all memory associated with an arena.
void arena_clear(arena_t *arena)
Zero out an arena's memory.
arena_view_t arena_malloc(arena_t *arena, size_t bytes, size_t type_size)
Arena manual allocation with malloc fallback.
void arena_view_reset(arena_view_t arena_view)
Free memory associated with an arena_view (within the arena itself).
struct arena_view arena_view_t
arena_t * arena_init(uint32_t blocks_to_allocate)
Initialize Arena.
A view of memory that was allocated in an arena.
Definition Arena.h:52
void * ptr
Definition Arena.h:53
size_t type_size
Definition Arena.h:55
size_t range
Definition Arena.h:54
A thread local mini "heap" used for thread local memory allocation.
Definition Arena.h:36
size_t capacity
Definition Arena.h:39
void * heap_base
Definition Arena.h:37
struct linked_list_node * heap_allocations_current
Definition Arena.h:42
void * heap_ptr
Definition Arena.h:38
size_t bytes_available
Definition Arena.h:40
struct linked_list_node * heap_allocations_head
Definition Arena.h:41
A node in a linked list.
Definition Arena.h:24
struct linked_list_node * next
Definition Arena.h:26
void * ptr
Definition Arena.h:25