fix incorrect chain size computation in new arena push implementation

This commit is contained in:
Ryan Fleury
2024-07-25 10:33:40 -07:00
parent e48baf9666
commit b555655f3a
2 changed files with 4 additions and 4 deletions
+2 -2
View File
@@ -87,7 +87,7 @@ arena_push(Arena *arena, U64 size, U64 align)
{
U64 res_size = current->res_size;
U64 cmt_size = current->cmt_size;
if(size > cmt_size)
if(size > res_size)
{
res_size = size + ARENA_HEADER_SIZE;
cmt_size = size + ARENA_HEADER_SIZE;
@@ -99,7 +99,7 @@ arena_push(Arena *arena, U64 size, U64 align)
SLLStackPush_N(arena->current, new_block, prev);
current = new_block;
pos_pre = AlignPow2(current->pos, align);
pos_pst = pos_pst + size;
pos_pst = pos_pre + size;
}
// rjf: commit new pages, if needed
@@ -87,7 +87,7 @@ arena_push(Arena *arena, U64 size, U64 align)
{
U64 res_size = current->res_size;
U64 cmt_size = current->cmt_size;
if(size > cmt_size)
if(size > res_size)
{
res_size = size + ARENA_HEADER_SIZE;
cmt_size = size + ARENA_HEADER_SIZE;
@@ -99,7 +99,7 @@ arena_push(Arena *arena, U64 size, U64 align)
SLLStackPush_N(arena->current, new_block, prev);
current = new_block;
pos_pre = AlignPow2(current->pos, align);
pos_pst = pos_pst + size;
pos_pst = pos_pre + size;
}
// rjf: commit new pages, if needed