Use asserts in arena
This commit is contained in:
parent
3fed536a74
commit
def7576101
@ -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) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user