Switch to using wapp_mem_util_alloc instead of calloc
This commit is contained in:
parent
57de75c1f8
commit
23886f40e8
@ -21,7 +21,8 @@ struct arena {
|
||||
|
||||
// PUBLIC API
|
||||
|
||||
bool wapp_mem_arena_init(Arena **arena, u64 base_capacity) {
|
||||
bool wapp_mem_arena_init(Arena **arena, u64 base_capacity, MemAllocFlags flags,
|
||||
bool zero_buffer) {
|
||||
if (!arena || *arena || base_capacity == 0) {
|
||||
return false;
|
||||
}
|
||||
@ -36,7 +37,10 @@ bool wapp_mem_arena_init(Arena **arena, u64 base_capacity) {
|
||||
? base_capacity
|
||||
: ARENA_MINIMUM_CAPACITY;
|
||||
|
||||
arena_ptr->buf = (u8 *)calloc(arena_capacity, sizeof(u8));
|
||||
arena_ptr->buf = (u8 *)wapp_mem_util_alloc(
|
||||
arena_capacity, WAPP_MEM_ACCESS_READ_WRITE, flags,
|
||||
zero_buffer ? WAPP_MEM_INIT_INITIALISED : WAPP_MEM_INIT_UNINITIALISED);
|
||||
|
||||
if (!(arena_ptr->buf)) {
|
||||
wapp_mem_arena_destroy(arena);
|
||||
return false;
|
||||
@ -87,7 +91,7 @@ void wapp_mem_arena_destroy(Arena **arena) {
|
||||
|
||||
Arena *arena_ptr = *arena;
|
||||
if (arena_ptr->buf) {
|
||||
free(arena_ptr->buf);
|
||||
wapp_mem_util_free(arena_ptr->buf, arena_ptr->capacity);
|
||||
}
|
||||
|
||||
arena_ptr->buf = arena_ptr->offset = NULL;
|
||||
|
@ -2,6 +2,7 @@
|
||||
#define MEM_ARENA_H
|
||||
|
||||
#include "aliases.h"
|
||||
#include "mem_utils.h"
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
@ -10,7 +11,8 @@ extern "C" {
|
||||
|
||||
typedef struct arena Arena;
|
||||
|
||||
bool wapp_mem_arena_init(Arena **arena, u64 base_capacity);
|
||||
bool wapp_mem_arena_init(Arena **arena, u64 base_capacity, MemAllocFlags flags,
|
||||
bool zero_buffer);
|
||||
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_clear(Arena *arena);
|
||||
|
Loading…
Reference in New Issue
Block a user