#include "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; }