Musa-Cpp-Lib-V2/lib/Base/Allocator.cpp
2025-11-19 22:00:36 -05:00

30 lines
880 B
C++

#include "Allocator.h"
#include "Base_Thread_Context.h"
force_inline Allocator get_temp_allocator() {
return get_allocator(get_thread_context()->temp);
}
force_inline Allocator get_context_allocator() {
Thread_Context* context = get_thread_context();
return context->allocator;
}
void* internal_alloc (s64 size) {
Allocator allocator = get_context_allocator();
void* result = allocator.proc(Allocator_Mode::ALLOCATE, size, 0, nullptr, allocator.data);
return result;
}
void* internal_realloc (void* memory, s64 size, s64 old_size) {
Allocator allocator = get_context_allocator();
void* result = allocator.proc(Allocator_Mode::RESIZE, size, 0, nullptr, allocator.data);
return result;
}
void internal_free (void* memory) {
Allocator allocator = get_context_allocator();
allocator.proc(Allocator_Mode::DEALLOCATE, 0, 0, memory, allocator.data);
}