Wrap malloc

This commit is contained in:
Nils O. Selåsdal
2026-06-21 23:50:16 +02:00
parent e52051b859
commit e5e0752c10
2 changed files with 32 additions and 0 deletions
+28
View File
@@ -23,6 +23,34 @@ void platform_free(void *mem)
free(mem);
}
static void *platform_allocator_func(Allocator *allocator, AllocOperation operation , void *memory, U32 size, U32 align)
{
switch (operation) {
case Alloc_Op_Aligned:
return aligned_alloc(size, align);
case Alloc_Op_Free: // can't free/Free_all from an marena
free(memory);
return NULL;
case Alloc_Op_Free_All:
free(memory);;
return NULL;
}
Assert(false);
}
Allocator platform_allocator(void)
{
Allocator allocator = {};
allocator.op_func_ptr = platform_allocator_func;
allocator.data = NULL;
return allocator;
}
void *memory_allocate_and_commit(size_t size)
{
Assert(IsPageAligned(size));
+4
View File
@@ -1,7 +1,11 @@
#pragma once
#include <stdlib.h>
#include "base_core.h"
void *platform_malloc(size_t size);
void platform_free(void *mem);
Allocator platform_allocator(void);
U32 platform_page_size(void);
// Memory functions expect mem and size to be page aligned