From 6195b521f5db2382e1e03318e78708cc9d96eb4c Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Sun, 21 Apr 2024 23:59:00 +0100 Subject: [PATCH] Set minimum capacity for arena --- mem/src/arena/mem_arena.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/mem/src/arena/mem_arena.c b/mem/src/arena/mem_arena.c index 13a1bca..a2d10ba 100644 --- a/mem/src/arena/mem_arena.c +++ b/mem/src/arena/mem_arena.c @@ -18,6 +18,8 @@ { 0x57, 0x41, 0x41, 0x52, 0x4e, 0x48, 0x44, 0x52 } #define MAX_HDR_SEARCH_LENGTH 256 +#define ARENA_MINIMUM_CAPACITY 1024 + typedef struct arena_alloc_hdr ArenaAllocHDR; struct arena_alloc_hdr { u8 magic[HDR_MAGIC_BYTE_COUNT]; @@ -282,12 +284,15 @@ internal bool base_arena_init(BaseArena *arena, u64 capacity) { return false; } - arena->buf = (u8 *)calloc(capacity, sizeof(u8)); + u64 arena_capacity = + capacity >= ARENA_MINIMUM_CAPACITY ? capacity : ARENA_MINIMUM_CAPACITY; + + arena->buf = (u8 *)calloc(arena_capacity, sizeof(u8)); if (!(arena->buf)) { return false; } - arena->capacity = capacity; + arena->capacity = arena_capacity; arena->offset = arena->buf; arena->prev = arena->next = NULL;