Files
tww/src/Runtime.PPCEABI.H/GCN_mem_alloc.c
T
2023-11-17 14:54:52 -05:00

33 lines
766 B
C

#include "Runtime.PPCEABI.H/GCN_mem_alloc.h"
#include "dolphin/os/OS.h"
inline static void InitDefaultHeap() {
void* arenaLo;
void* arenaHi;
OSReport("GCN_Mem_Alloc.c : InitDefaultHeap. No Heap Available\n");
OSReport("Metrowerks CW runtime library initializing default heap\n");
arenaLo = OSGetArenaLo();
arenaHi = OSGetArenaHi();
arenaLo = OSInitAlloc(arenaLo, arenaHi, 1);
OSSetArenaLo(arenaLo);
arenaLo = (void*)OSRoundUp32B(arenaLo);
arenaHi = (void*)OSRoundDown32B(arenaHi);
OSSetCurrentHeap(OSCreateHeap(arenaLo, arenaHi));
OSSetArenaLo(arenaLo = arenaHi);
}
void __sys_free(void* ptr) {
if (__OSCurrHeap == -1) {
InitDefaultHeap();
}
OSFreeToHeap(__OSCurrHeap, ptr);
return;
}