Use asserts in arena

This commit is contained in:
Abdelrahman Said 2025-05-05 18:57:11 +01:00
parent 3fed536a74
commit def7576101

View File

@ -1,10 +1,12 @@
#include "mem_arena.h" #include "mem_arena.h"
#include "../utils/mem_utils.h"
#include "../../../common/aliases/aliases.h" #include "../../../common/aliases/aliases.h"
#include "../../../common/misc/misc_utils.h" #include "../../../common/misc/misc_utils.h"
#include "../../os/mem/mem_os.h" #include "../../os/mem/mem_os.h"
#include <stdbool.h> #include <stdbool.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <assert.h>
#ifndef DEFAULT_ALIGNMENT #ifndef DEFAULT_ALIGNMENT
// Why 2 * sizeof(void *) instead of sizeof(void *) // Why 2 * sizeof(void *) instead of sizeof(void *)
@ -62,9 +64,7 @@ void *wapp_mem_arena_alloc(Arena *arena, u64 size) {
} }
void *wapp_mem_arena_alloc_aligned(Arena *arena, u64 size, u64 alignment) { void *wapp_mem_arena_alloc_aligned(Arena *arena, u64 size, u64 alignment) {
if (!arena) { assert(arena != NULL && "arena argument shouldn't be NULL");
return NULL;
}
u8 *alloc_start = arena->offset; u8 *alloc_start = arena->offset;
@ -123,18 +123,14 @@ void *wapp_mem_arena_realloc_aligned(Arena *arena, void *ptr, u64 old_size, u64
} }
void wapp_mem_arena_clear(Arena *arena) { void wapp_mem_arena_clear(Arena *arena) {
if (!arena) { assert(arena != NULL && "arena argument shouldn't be NULL");
return;
}
memset(arena->buf, 0, arena->offset - arena->buf); memset(arena->buf, 0, arena->offset - arena->buf);
arena->offset = arena->buf; arena->offset = arena->buf;
} }
void wapp_mem_arena_destroy(Arena **arena) { void wapp_mem_arena_destroy(Arena **arena) {
if (!arena) { assert(arena != NULL && (*arena) != NULL && "arena argument shouldn't be NULL");
return;
}
Arena *arena_ptr = *arena; Arena *arena_ptr = *arena;
if (arena_ptr->buf) { if (arena_ptr->buf) {