diff --git a/core/mem/virtual/arena_util.odin b/core/mem/virtual/arena_util.odin new file mode 100644 index 000000000..408566299 --- /dev/null +++ b/core/mem/virtual/arena_util.odin @@ -0,0 +1,36 @@ +package mem_virtual + +arena_temp_begin :: proc{ + static_arena_temp_begin, + growing_arena_temp_begin, +} + +arena_temp_end :: proc{ + static_arena_temp_end, + growing_arena_temp_end, +} + +arena_check_temp :: proc{ + static_arena_check_temp, + growing_arena_check_temp, +} + +arena_allocator :: proc{ + static_arena_allocator, + growing_arena_allocator, +} + +arena_alloc :: proc{ + static_arena_alloc, + growing_arena_alloc, +} + +arena_free_all :: proc{ + static_arena_free_all, + growing_arena_free_all, +} + +arena_destroy :: proc{ + static_arena_destroy, + growing_arena_destroy, +} \ No newline at end of file diff --git a/core/mem/virtual/growing_arena.odin b/core/mem/virtual/growing_arena.odin index 596a7ad51..9a4272a1e 100644 --- a/core/mem/virtual/growing_arena.odin +++ b/core/mem/virtual/growing_arena.odin @@ -65,6 +65,10 @@ growing_arena_free_all :: proc(arena: ^Growing_Arena) { arena.total_reserved = 0 } +growing_arena_destroy :: proc(arena: ^Growing_Arena) { + growing_arena_free_all(arena) +} + growing_arena_bootstrap_new_by_offset :: proc($T: typeid, offset_to_arena: uintptr, minimum_block_size := DEFAULT_MINIMUM_BLOCK_SIZE) -> (ptr: ^T, err: Allocator_Error) { bootstrap: Growing_Arena bootstrap.minimum_block_size = minimum_block_size