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
|
// 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) {
|
if (!arena || *arena || base_capacity == 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -36,7 +37,10 @@ bool wapp_mem_arena_init(Arena **arena, u64 base_capacity) {
|
|||||||
? base_capacity
|
? base_capacity
|
||||||
: ARENA_MINIMUM_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)) {
|
if (!(arena_ptr->buf)) {
|
||||||
wapp_mem_arena_destroy(arena);
|
wapp_mem_arena_destroy(arena);
|
||||||
return false;
|
return false;
|
||||||
@ -87,7 +91,7 @@ void wapp_mem_arena_destroy(Arena **arena) {
|
|||||||
|
|
||||||
Arena *arena_ptr = *arena;
|
Arena *arena_ptr = *arena;
|
||||||
if (arena_ptr->buf) {
|
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;
|
arena_ptr->buf = arena_ptr->offset = NULL;
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#define MEM_ARENA_H
|
#define MEM_ARENA_H
|
||||||
|
|
||||||
#include "aliases.h"
|
#include "aliases.h"
|
||||||
|
#include "mem_utils.h"
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
@ -10,7 +11,8 @@ extern "C" {
|
|||||||
|
|
||||||
typedef struct arena Arena;
|
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(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);
|
||||||
void wapp_mem_arena_clear(Arena *arena);
|
void wapp_mem_arena_clear(Arena *arena);
|
||||||
|
Loading…
Reference in New Issue
Block a user