aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2022-10-12 21:20:31 +0100
committergingerBill <bill@gingerbill.org>2022-10-12 21:20:31 +0100
commit765cd66b30f2da13ffc911b56e258a92f0d8ebdb (patch)
treec5b3112911c2f99df41bee473723d1f0267669a9
parent5a8fbc230da9d16a1f8f4345bc7c803fe8f77bab (diff)
Clean up `minimum_block_size` default implicit initialization
-rw-r--r--core/mem/virtual/arena.odin10
1 files changed, 7 insertions, 3 deletions
diff --git a/core/mem/virtual/arena.odin b/core/mem/virtual/arena.odin
index e95dc227c..33d25e3a5 100644
--- a/core/mem/virtual/arena.odin
+++ b/core/mem/virtual/arena.odin
@@ -56,7 +56,9 @@ arena_alloc :: proc(arena: ^Arena, size: uint, alignment: uint, loc := #caller_l
case .Growing:
if arena.curr_block == nil || arena.curr_block.used + size > arena.curr_block.reserved {
size = mem.align_forward_uint(size, alignment)
- arena.minimum_block_size = max(GROWING_ARENA_DEFAULT_MINIMUM_BLOCK_SIZE, arena.minimum_block_size)
+ if arena.minimum_block_size == 0 {
+ arena.minimum_block_size = GROWING_ARENA_DEFAULT_MINIMUM_BLOCK_SIZE
+ }
block_size := max(size, arena.minimum_block_size)
@@ -71,8 +73,10 @@ arena_alloc :: proc(arena: ^Arena, size: uint, alignment: uint, loc := #caller_l
arena.total_used += arena.curr_block.used - prev_used
case .Static:
if arena.curr_block == nil {
- reserve_size := max(arena.minimum_block_size, STATIC_ARENA_DEFAULT_RESERVE_SIZE)
- arena_init_static(arena, reserve_size, STATIC_ARENA_DEFAULT_COMMIT_SIZE) or_return
+ if arena.minimum_block_size == 0 {
+ arena.minimum_block_size = STATIC_ARENA_DEFAULT_RESERVE_SIZE
+ }
+ arena_init_static(arena=arena, reserved=arena.minimum_block_size, commit_size=STATIC_ARENA_DEFAULT_COMMIT_SIZE) or_return
}
data, err = alloc_from_memory_block(arena.curr_block, size, alignment)
arena.total_used = arena.curr_block.used