diff --git a/src/base/base_arena.c b/src/base/base_arena.c index d6a6f3d5..d9bb1674 100644 --- a/src/base/base_arena.c +++ b/src/base/base_arena.c @@ -118,12 +118,12 @@ arena_push(Arena *arena, U64 size, U64 align) U64 cmt_size = current->cmt_size; if(size + ARENA_HEADER_SIZE > res_size) { - res_size = size + ARENA_HEADER_SIZE; - cmt_size = size + ARENA_HEADER_SIZE; + res_size = AlignPow2(size + ARENA_HEADER_SIZE, align); + cmt_size = AlignPow2(size + ARENA_HEADER_SIZE, align); } new_block = arena_alloc(.reserve_size = res_size, - .commit_size = cmt_size, - .flags = current->flags); + .commit_size = cmt_size, + .flags = current->flags); new_block->base_pos = current->base_pos + current->res; SLLStackPush_N(arena->current, new_block, prev); }