From a4771ce1b584cb426dd20f7f11e3148157b3ebb2 Mon Sep 17 00:00:00 2001 From: Feoramund <161657516+Feoramund@users.noreply.github.com> Date: Sat, 14 Jun 2025 12:25:04 -0400 Subject: [PATCH] mem: Clarify what happens when you free out-of-order in a `Small_Stack` --- core/mem/allocators.odin | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/mem/allocators.odin b/core/mem/allocators.odin index f62ef4fb4..dd5575c37 100644 --- a/core/mem/allocators.odin +++ b/core/mem/allocators.odin @@ -1248,7 +1248,10 @@ Small stack allocator. The small stack allocator is just like a stack allocator, with the only difference being an extremely small header size. Unlike the stack allocator, -small stack allows out-of order freeing of memory. +small stack allows out-of order freeing of memory, with the stipulation that +all allocations made after the freed allocation will become invalidated upon +following allocations as they will begin to overwrite the memory formerly used +by the freed allocation. The memory is allocated in the backing buffer linearly, from start to end. Each subsequent allocation will get the next adjacent memory region.