mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-07 06:18:42 +00:00
fix incorrect chain size computation in new arena push implementation
This commit is contained in:
@@ -87,7 +87,7 @@ arena_push(Arena *arena, U64 size, U64 align)
|
|||||||
{
|
{
|
||||||
U64 res_size = current->res_size;
|
U64 res_size = current->res_size;
|
||||||
U64 cmt_size = current->cmt_size;
|
U64 cmt_size = current->cmt_size;
|
||||||
if(size > cmt_size)
|
if(size > res_size)
|
||||||
{
|
{
|
||||||
res_size = size + ARENA_HEADER_SIZE;
|
res_size = size + ARENA_HEADER_SIZE;
|
||||||
cmt_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);
|
SLLStackPush_N(arena->current, new_block, prev);
|
||||||
current = new_block;
|
current = new_block;
|
||||||
pos_pre = AlignPow2(current->pos, align);
|
pos_pre = AlignPow2(current->pos, align);
|
||||||
pos_pst = pos_pst + size;
|
pos_pst = pos_pre + size;
|
||||||
}
|
}
|
||||||
|
|
||||||
// rjf: commit new pages, if needed
|
// 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 res_size = current->res_size;
|
||||||
U64 cmt_size = current->cmt_size;
|
U64 cmt_size = current->cmt_size;
|
||||||
if(size > cmt_size)
|
if(size > res_size)
|
||||||
{
|
{
|
||||||
res_size = size + ARENA_HEADER_SIZE;
|
res_size = size + ARENA_HEADER_SIZE;
|
||||||
cmt_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);
|
SLLStackPush_N(arena->current, new_block, prev);
|
||||||
current = new_block;
|
current = new_block;
|
||||||
pos_pre = AlignPow2(current->pos, align);
|
pos_pre = AlignPow2(current->pos, align);
|
||||||
pos_pst = pos_pst + size;
|
pos_pst = pos_pre + size;
|
||||||
}
|
}
|
||||||
|
|
||||||
// rjf: commit new pages, if needed
|
// rjf: commit new pages, if needed
|
||||||
|
|||||||
Reference in New Issue
Block a user