Implement memory context realloc function

This commit is contained in:
Abdelrahman Said 2024-03-24 19:24:36 +00:00
parent ca36e0dc35
commit 7039b5437a
2 changed files with 22 additions and 0 deletions

View File

@ -17,6 +17,9 @@ typedef enum {
void wapp_mem_ctx_init(u64 main_buf_capacity, u64 temp_buf_capacity);
void *wapp_mem_ctx_alloc(CTXDestBuffer buffer, u64 size);
void *wapp_mem_ctx_alloc_aligned(CTXDestBuffer buffer, u64 size, u64 alignment);
void *wapp_mem_ctx_realloc(CTXDestBuffer buffer, void *ptr, u64 size);
void *wapp_mem_ctx_realloc_aligned(CTXDestBuffer buffer, void *ptr, u64 size,
u64 alignment);
void wapp_mem_ctx_clear(CTXDestBuffer buffer);
void wapp_mem_ctx_free(void);

View File

@ -42,6 +42,25 @@ void *wapp_mem_ctx_alloc_aligned(CTXDestBuffer buffer, u64 size,
return wapp_mem_arena_alloc_aligned(arena, size, alignment);
}
void *wapp_mem_ctx_realloc(CTXDestBuffer buffer, void *ptr, u64 size) {
Arena *arena = get_arena(buffer);
if (!arena) {
return NULL;
}
return wapp_mem_arena_realloc(arena, ptr, size);
}
void *wapp_mem_ctx_realloc_aligned(CTXDestBuffer buffer, void *ptr, u64 size,
u64 alignment) {
Arena *arena = get_arena(buffer);
if (!arena) {
return NULL;
}
return wapp_mem_arena_realloc_aligned(arena, ptr, size, alignment);
}
void wapp_mem_ctx_clear(CTXDestBuffer buffer) {
Arena *arena = get_arena(buffer);
if (!arena) {