Files
mm/src/code/z_malloc.c
T
Anghelo Carvajal c44e26a143 __osMalloc.c OK (#395)
* __osRealloc

* match __osCheckArena

* cleanup

* Import bss, unreferenced strings and cleanup

* format

* Reviews

* Move convert.h to ultra64/

* Make the os_malloc.h header

* potato

* renames and fixes

* format

* small doc pass
}

* format

* minor changes

* Introduce system_malloc.h

* Docs pass

* fix

* format

* stuff

* Apply suggestions from code review

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>

* review

* format

* remove repeated sentence

* Apply suggestions from code review

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>

* include headers

* review

* Rename __osMallocAddHeap

* remove @brief

* Update src/boot_O2/__osMalloc.c

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
2022-01-11 23:25:14 +00:00

58 lines
1.1 KiB
C

#include "global.h"
#include "os_malloc.h"
Arena sZeldaArena;
void* ZeldaArena_Malloc(size_t size) {
void* ptr = __osMalloc(&sZeldaArena, size);
return ptr;
}
void* ZeldaArena_MallocR(size_t size) {
void* ptr = __osMallocR(&sZeldaArena, size);
return ptr;
}
void* ZeldaArena_Realloc(void* ptr, size_t newSize) {
ptr = __osRealloc(&sZeldaArena, ptr, newSize);
return ptr;
}
void ZeldaArena_Free(void* ptr) {
__osFree(&sZeldaArena, ptr);
}
void* ZeldaArena_Calloc(u32 num, size_t size) {
void* ret;
u32 n = num * size;
ret = __osMalloc(&sZeldaArena, n);
if (ret != NULL) {
bzero(ret, n);
}
return ret;
}
void ZeldaArena_GetSizes(size_t* outMaxFree, size_t* outFree, size_t* outAlloc) {
__osGetSizes(&sZeldaArena, outMaxFree, outFree, outAlloc);
}
s32 ZeldaArena_Check() {
return __osCheckArena(&sZeldaArena);
}
void ZeldaArena_Init(void* start, size_t size) {
__osMallocInit(&sZeldaArena, start, size);
}
void ZeldaArena_Cleanup() {
__osMallocCleanup(&sZeldaArena);
}
u8 ZeldaArena_IsInitialized() {
return __osMallocIsInitalized(&sZeldaArena);
}