// // Generated By: dol2asm // Translation Unit: JKRExpHeap // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/JKernel/JKRExpHeap.h" // // Types: // struct JUTException { /* 802E21FC */ // False False // char const* False // char const False // char False // int False // char const* False // char const False // char False // ... False void panic_f(char const*, int, char const*, ...); }; struct JKRHeap { struct TState { }; /* 802CE138 */ // False False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // bool False JKRHeap(void*, u32, JKRHeap*, bool); /* 802CE264 */ // False False ~JKRHeap(); /* 802CE378 */ // False False // char** False // char* False // char False // u32* False // u32 False // int False void initArena(char**, u32*, int); /* 802CE474 */ // False False // u32 False // int False // JKRHeap* False // JKRHeap False void alloc(u32, int, JKRHeap*); /* 802CE500 */ // False False // void* False // void False // JKRHeap* False // JKRHeap False void free(void*, JKRHeap*); /* 802CE574 */ // False False void callAllDisposer(); /* 802CE784 */ // False False void getTotalFreeSize(); /* 802CE7DC */ // False False // int False void getMaxAllocatableSize(int); /* 802CE894 */ // False False // void* False // void False void find(void*) const; /* 802CEAC0 */ // False False void dispose(); /* 802CEA78 */ // False False // void* False // void False // u32 False void dispose(void*, u32); /* 802CEDA0 */ // False False // void False // JKRHeap::TState const& False // JKRHeap::TState const False // JKRHeap::TState False void state_dump(JKRHeap::TState const&) const; }; struct JKRExpHeap { struct CMemBlock { /* 802D0810 */ // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // u32 False // u8 False // u8 False void initiate(JKRExpHeap::CMemBlock*, JKRExpHeap::CMemBlock*, u32, u8, u8); /* 802D0830 */ // True False // u32 False // u8 False // u8 False // u8 False // u8 False void allocFore(u32, u8, u8, u8, u8); /* 802D0874 */ // True False // u32 False // u8 False // u8 False // u8 False // u8 False void allocBack(u32, u8, u8, u8, u8); /* 802D08CC */ // True False // JKRExpHeap* False // JKRExpHeap False void free(JKRExpHeap*); /* 802D091C */ // True False // void* False // void False void getHeapBlock(void*); }; /* 802CEDB4 */ // False False // int False // bool False void createRoot(int, bool); /* 802CEF00 */ // False False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // bool False void create(void*, u32, JKRHeap*, bool); /* 802CEE2C */ // False False // u32 False // JKRHeap* False // JKRHeap False // bool False void create(u32, JKRHeap*, bool); /* 802CEFAC */ // True False void do_destroy(); /* 802CF030 */ // True False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // bool False JKRExpHeap(void*, u32, JKRHeap*, bool); /* 802CF0C0 */ // True False ~JKRExpHeap(); /* 802CF128 */ // True False // u32 False // int False void do_alloc(u32, int); /* 802CF490 */ // True False // u32 False void allocFromHead(u32); /* 802CF234 */ // True False // u32 False // int False void allocFromHead(u32, int); /* 802CF6D4 */ // True False // u32 False void allocFromTail(u32); /* 802CF574 */ // True False // u32 False // int False void allocFromTail(u32, int); /* 802CF7AC */ // True False // void* False // void False void do_free(void*); /* 802CF820 */ // True False void do_freeAll(); /* 802CF89C */ // True False void do_freeTail(); /* 802CF924 */ // True False // void False void do_fillFreeArea(); /* 802CF928 */ // True False // u8 False void do_changeGroupID(u8); /* 802CF978 */ // True False // void* False // void False // u32 False void do_resize(void*, u32); /* 802CFB24 */ // True False // void* False // void False void do_getSize(void*); /* 802CFBA4 */ // True False void do_getFreeSize(); /* 802CFC10 */ // True False void do_getMaxFreeBlock(); /* 802CFC84 */ // True False void do_getTotalFreeSize(); /* 802CFCE8 */ // True False // u8 False void getUsedSize(u8) const; /* 802CFD64 */ // False False void getTotalUsedSize() const; /* 802CFDCC */ // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False void appendUsedList(JKRExpHeap::CMemBlock*); /* 802CFE68 */ // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False void setFreeBlock(JKRExpHeap::CMemBlock*, JKRExpHeap::CMemBlock*, JKRExpHeap::CMemBlock*); /* 802CFEB4 */ // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False void removeFreeBlock(JKRExpHeap::CMemBlock*); /* 802CFEE8 */ // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False void removeUsedBlock(JKRExpHeap::CMemBlock*); /* 802CFF1C */ // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False void recycleFreeBlock(JKRExpHeap::CMemBlock*); /* 802D00B4 */ // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False void joinTwoBlocks(JKRExpHeap::CMemBlock*); /* 802D0190 */ // True False void check(); /* 802D03B8 */ // True False void dump(); /* 802D05CC */ // True False void dump_sort(); /* 802D0938 */ // True False // JKRHeap::TState* False // JKRHeap::TState False // u32 False void state_register(JKRHeap::TState*, u32) const; /* 802D09E0 */ // True False // JKRHeap::TState const& False // JKRHeap::TState const False // JKRHeap::TState False // JKRHeap::TState const& False // JKRHeap::TState const False // JKRHeap::TState False void state_compare(JKRHeap::TState const&, JKRHeap::TState const&) const; /* 802D0A10 */ // True False void getHeapType(); /* 802D0A1C */ // True False void do_getCurrentGroupId(); }; // // Forward References: // // False False // int False // bool False extern "C" void createRoot__10JKRExpHeapFib(); // False False // u32 False // JKRHeap* False // JKRHeap False // bool False extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); // False False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // bool False extern "C" void create__10JKRExpHeapFPvUlP7JKRHeapb(); // True False extern "C" void do_destroy__10JKRExpHeapFv(); // True False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // bool False extern "C" void __ct__10JKRExpHeapFPvUlP7JKRHeapb(); // True False extern "C" void __dt__10JKRExpHeapFv(); // True False // u32 False // int False extern "C" void do_alloc__10JKRExpHeapFUli(); // True False // u32 False // int False extern "C" void allocFromHead__10JKRExpHeapFUli(); // True False // u32 False extern "C" void allocFromHead__10JKRExpHeapFUl(); // True False // u32 False // int False extern "C" void allocFromTail__10JKRExpHeapFUli(); // True False // u32 False extern "C" void allocFromTail__10JKRExpHeapFUl(); // True False // void* False // void False extern "C" void do_free__10JKRExpHeapFPv(); // True False extern "C" void do_freeAll__10JKRExpHeapFv(); // True False extern "C" void do_freeTail__10JKRExpHeapFv(); // True False // void False extern "C" void do_fillFreeArea__10JKRExpHeapFv(); // True False // u8 False extern "C" void do_changeGroupID__10JKRExpHeapFUc(); // True False // void* False // void False // u32 False extern "C" void do_resize__10JKRExpHeapFPvUl(); // True False // void* False // void False extern "C" void do_getSize__10JKRExpHeapFPv(); // True False extern "C" void do_getFreeSize__10JKRExpHeapFv(); // True False extern "C" void do_getMaxFreeBlock__10JKRExpHeapFv(); // True False extern "C" void do_getTotalFreeSize__10JKRExpHeapFv(); // True False // u8 False extern "C" void getUsedSize__10JKRExpHeapCFUc(); // False False extern "C" void getTotalUsedSize__10JKRExpHeapCFv(); // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False extern "C" void appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock(); // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False extern "C" void setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock(); // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False extern "C" void removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock(); // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False extern "C" void removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock(); // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False extern "C" void recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock(); // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False extern "C" void joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock(); // True False extern "C" void check__10JKRExpHeapFv(); // True False extern "C" void dump__10JKRExpHeapFv(); // True False extern "C" void dump_sort__10JKRExpHeapFv(); // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // u32 False // u8 False // u8 False extern "C" void initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc(); // True False // u32 False // u8 False // u8 False // u8 False // u8 False extern "C" void allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc(); // True False // u32 False // u8 False // u8 False // u8 False // u8 False extern "C" void allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc(); // True False // JKRExpHeap* False // JKRExpHeap False extern "C" void free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap(); // True False // void* False // void False extern "C" void getHeapBlock__Q210JKRExpHeap9CMemBlockFPv(); // True False // JKRHeap::TState* False // JKRHeap::TState False // u32 False extern "C" void state_register__10JKRExpHeapCFPQ27JKRHeap6TStateUl(); // True False // JKRHeap::TState const& False // JKRHeap::TState const False // JKRHeap::TState False // JKRHeap::TState const& False // JKRHeap::TState const False // JKRHeap::TState False extern "C" void state_compare__10JKRExpHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState(); // True False extern "C" void getHeapType__10JKRExpHeapFv(); // True False extern "C" void do_getCurrentGroupId__10JKRExpHeapFv(); extern "C" extern char const* const JKRExpHeap__stringBase0; extern "C" extern void* __vt__10JKRExpHeap[24]; // // External References: // // False False // void False // void* False // void False void operator delete(void*); // False False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // bool False extern "C" void __ct__7JKRHeapFPvUlP7JKRHeapb(); // False False extern "C" void __dt__7JKRHeapFv(); // False False // char** False // char* False // char False // u32* False // u32 False // int False extern "C" void initArena__7JKRHeapFPPcPUli(); // False False // u32 False // int False // JKRHeap* False // JKRHeap False extern "C" void alloc__7JKRHeapFUliP7JKRHeap(); // False False // void* False // void False // JKRHeap* False // JKRHeap False extern "C" void free__7JKRHeapFPvP7JKRHeap(); // False False extern "C" void callAllDisposer__7JKRHeapFv(); // False False extern "C" void getTotalFreeSize__7JKRHeapFv(); // False False // int False extern "C" void getMaxAllocatableSize__7JKRHeapFi(); // False False // void* False // void False extern "C" void find__7JKRHeapCFPv(); // False False // void* False // void False // u32 False extern "C" void dispose__7JKRHeapFPvUl(); // False False extern "C" void dispose__7JKRHeapFv(); // False False // void False // void* False // void False extern "C" void __dl__FPv(); // False False // void False // JKRHeap::TState const& False // JKRHeap::TState const False // JKRHeap::TState False extern "C" void state_dump__7JKRHeapCFRCQ27JKRHeap6TState(); // False False // char const* False // char const False // char False // int False // char const* False // char const False // char False // ... False extern "C" void panic_f__12JUTExceptionFPCciPCce(); // False False extern "C" void JUTReportConsole_f(); // False False extern "C" void JUTReportConsole(); // False False extern "C" void JUTWarningConsole_f(); // False False extern "C" void JUTWarningConsole(); // False False extern "C" void OSLockMutex(); // False False extern "C" void OSUnlockMutex(); // False False extern "C" void _savegpr_25(); // False False extern "C" void _savegpr_27(); // False False extern "C" void _savegpr_28(); // False False extern "C" void _savegpr_29(); // False False extern "C" void _restgpr_25(); // False False extern "C" void _restgpr_27(); // False False extern "C" void _restgpr_28(); // False False extern "C" void _restgpr_29(); extern "C" extern u8 sCurrentHeap__7JKRHeap[4]; extern "C" extern u8 sRootHeap__7JKRHeap[4]; extern "C" extern u8 mErrorHandler__7JKRHeap[4]; // // Declarations: // /* 802CEDB4-802CEE2C 0078+00 s=0 e=1 z=0 None .text createRoot__10JKRExpHeapFib */ // 802CEDD0: 80451378 (sRootHeap__7JKRHeap) // 802CEDE4: 802CE378 (initArena__7JKRHeapFPPcPUli) // 802CEE08: 802CF030 (__ct__10JKRExpHeapFPvUlP7JKRHeapb) // 802CEE0C: 80451378 (sRootHeap__7JKRHeap) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // int False // bool False asm void JKRExpHeap::createRoot(int param_0, bool param_1) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/createRoot__10JKRExpHeapFib.s" } #pragma pop /* 802CEE2C-802CEF00 00D4+00 s=0 e=19 z=1 None .text create__10JKRExpHeapFUlP7JKRHeapb */ // 802CEE3C: 803621D8 (_savegpr_28) // 802CEE4C: 80451378 (sRootHeap__7JKRHeap) // 802CEE64: 802CE7DC (getMaxAllocatableSize__7JKRHeapFi) // 802CEE88: 802CE474 (alloc__7JKRHeapFUliP7JKRHeap) // 802CEEB8: 802CF030 (__ct__10JKRExpHeapFPvUlP7JKRHeapb) // 802CEED0: 802CE500 (free__7JKRHeapFPvP7JKRHeap) // 802CEEEC: 80362224 (_restgpr_28) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u32 False // JKRHeap* False // JKRHeap False // bool False asm void JKRExpHeap::create(u32 param_0, JKRHeap* param_1, bool param_2) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/create__10JKRExpHeapFUlP7JKRHeapb.s" } #pragma pop /* 802CEF00-802CEFAC 00AC+00 s=0 e=1 z=0 None .text create__10JKRExpHeapFPvUlP7JKRHeapb */ // 802CEF10: 803621DC (_savegpr_29) // 802CEF28: 80451378 (sRootHeap__7JKRHeap) // 802CEF30: 802CE894 (find__7JKRHeapCFPv) // 802CEF80: 802CF030 (__ct__10JKRExpHeapFPvUlP7JKRHeapb) // 802CEF98: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // bool False asm void JKRExpHeap::create(void* param_0, u32 param_1, JKRHeap* param_2, bool param_3) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/create__10JKRExpHeapFPvUlP7JKRHeapb.s" } #pragma pop /* 802CEFAC-802CF030 0084+00 s=1 e=0 z=0 None .text do_destroy__10JKRExpHeapFv */ // 802CEFFC: 802CE500 (free__7JKRHeapFPvP7JKRHeap) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::do_destroy() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_destroy__10JKRExpHeapFv.s" } #pragma pop /* ############################################################################################## */ /* 803CBFD0-803CC030 0060+00 s=2 e=0 z=0 None .data __vt__10JKRExpHeap */ SECTION_DATA void* __vt__10JKRExpHeap[24] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__10JKRExpHeapFv, (void*)callAllDisposer__7JKRHeapFv, (void*)getHeapType__10JKRExpHeapFv, (void*)check__10JKRExpHeapFv, (void*)dump_sort__10JKRExpHeapFv, (void*)dump__10JKRExpHeapFv, (void*)do_destroy__10JKRExpHeapFv, (void*)do_alloc__10JKRExpHeapFUli, (void*)do_free__10JKRExpHeapFPv, (void*)do_freeAll__10JKRExpHeapFv, (void*)do_freeTail__10JKRExpHeapFv, (void*)do_fillFreeArea__10JKRExpHeapFv, (void*)do_resize__10JKRExpHeapFPvUl, (void*)do_getSize__10JKRExpHeapFPv, (void*)do_getFreeSize__10JKRExpHeapFv, (void*)do_getMaxFreeBlock__10JKRExpHeapFv, (void*)do_getTotalFreeSize__10JKRExpHeapFv, (void*)do_changeGroupID__10JKRExpHeapFUc, (void*)do_getCurrentGroupId__10JKRExpHeapFv, (void*)state_register__10JKRExpHeapCFPQ27JKRHeap6TStateUl, (void*)state_compare__10JKRExpHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState, (void*)state_dump__7JKRHeapCFRCQ27JKRHeap6TState, }; /* 802CF030-802CF0C0 0090+00 s=3 e=0 z=0 None .text __ct__10JKRExpHeapFPvUlP7JKRHeapb */ // 802CF040: 803621DC (_savegpr_29) // 802CF050: 802CE138 (__ct__7JKRHeapFPvUlP7JKRHeapb) // 802CF054: 803CBFD0 (__vt__10JKRExpHeap) // 802CF058: 803CBFD0 (__vt__10JKRExpHeap) // 802CF094: 802D0810 (initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc) // 802CF0AC: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // bool False asm JKRExpHeap::JKRExpHeap(void* param_0, u32 param_1, JKRHeap* param_2, bool param_3) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/__ct__10JKRExpHeapFPvUlP7JKRHeapb.s" } #pragma pop /* 802CF0C0-802CF128 0068+00 s=1 e=0 z=0 None .text __dt__10JKRExpHeapFv */ // 802CF0E0: 803CBFD0 (__vt__10JKRExpHeap) // 802CF0E4: 803CBFD0 (__vt__10JKRExpHeap) // 802CF0EC: 802CEAC0 (dispose__7JKRHeapFv) // 802CF0F8: 802CE264 (__dt__7JKRHeapFv) // 802CF108: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm JKRExpHeap::~JKRExpHeap() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/__dt__10JKRExpHeapFv.s" } #pragma pop /* ############################################################################################## */ /* 8039CAF0-8039CE50 0360+00 s=6 e=0 z=0 None .rodata @stringBase0 */ #pragma push #pragma force_active on #pragma section ".dead" SECTION_DEAD char const* const stringBase_8039CAF0 = ":::cannot alloc memory (0x%x byte).\n"; SECTION_DEAD char const* const stringBase_8039CB15 = "JKRExpHeap.cpp"; SECTION_DEAD char const* const stringBase_8039CB24 = "%s"; SECTION_DEAD char const* const stringBase_8039CB27 = "bad appendUsedList\n"; SECTION_DEAD char const* const stringBase_8039CB3B = ":::Heap may be broken. (block = %x)"; SECTION_DEAD char const* const stringBase_8039CB5F = "Bad Block\n"; SECTION_DEAD char const* const stringBase_8039CB6A = ":::addr %08x: bad heap signature. (%c%c)\n"; SECTION_DEAD char const* const stringBase_8039CB94 = ":::addr %08x: bad next pointer (%08x)\nabort\n"; SECTION_DEAD char const* const stringBase_8039CBC1 = ":::addr %08x: bad previous pointer (%08x)\n"; SECTION_DEAD char const* const stringBase_8039CBEC = ":::addr %08x: bad used list(REV) (%08x)\n"; SECTION_DEAD char const* const stringBase_8039CC15 = ":::addr %08x: bad block size (%08x)\n"; SECTION_DEAD char const* const stringBase_8039CC3A = ":::bad total memory block size (%08X, %08X)\n"; SECTION_DEAD char const* const stringBase_8039CC67 = ":::there is some error in this heap!\n"; SECTION_DEAD char const* const stringBase_8039CC8D = " attr address: size gid aln prev_ptr nex" "t_ptr\n"; SECTION_DEAD char const* const stringBase_8039CCC4 = "(Used Blocks)\n"; SECTION_DEAD char const* const stringBase_8039CCD3 = " NONE\n"; SECTION_DEAD char const* const stringBase_8039CCDA = "xxxxx %08x: -------- --- --- (-------- -------" "-)\nabort\n"; SECTION_DEAD char const* const stringBase_8039CD14 = "%s %08x: %08x %3d %3d (%08x %08x)\n"; SECTION_DEAD char const* const stringBase_8039CD39 = " temp"; SECTION_DEAD char const* const stringBase_8039CD3F = "alloc"; SECTION_DEAD char const* const stringBase_8039CD45 = "(Free Blocks)\n"; SECTION_DEAD char const* const stringBase_8039CD54 = " free"; SECTION_DEAD char const* const stringBase_8039CD5A = "%d / %d bytes (%6.2f%%) used (U:%d F:%d)\n"; SECTION_DEAD char const* const stringBase_8039CD84 = "+---------------JKRExpHeap\n"; SECTION_DEAD char const* const stringBase_8039CDA0 = "| Align Group size ( prev , next )\n"; SECTION_DEAD char const* const stringBase_8039CDD0 = "| ---- FreeFirst\n"; SECTION_DEAD char const* const stringBase_8039CDE2 = "| %08x "; SECTION_DEAD char const* const stringBase_8039CDEB = "%2x %3d %6x (%08x %08x)\n"; SECTION_DEAD char const* const stringBase_8039CE07 = "| ---- FreeLast\n"; SECTION_DEAD char const* const stringBase_8039CE18 = "| ---- UsedFirst\n"; SECTION_DEAD char const* const stringBase_8039CE2A = "| ---- UsedLast\n"; SECTION_DEAD char const* const stringBase_8039CE3B = "+---------------End\n"; #pragma pop /* 802CF128-802CF234 010C+00 s=1 e=0 z=0 None .text do_alloc__10JKRExpHeapFUli */ // 802CF138: 803621D8 (_savegpr_28) // 802CF14C: 8033F040 (OSLockMutex) // 802CF174: 802CF490 (allocFromHead__10JKRExpHeapFUl) // 802CF18C: 802CF234 (allocFromHead__10JKRExpHeapFUli) // 802CF1AC: 802CF6D4 (allocFromTail__10JKRExpHeapFUl) // 802CF1C0: 802CF574 (allocFromTail__10JKRExpHeapFUli) // 802CF1D0: 8039CAF0 (JKRExpHeap__stringBase0) // 802CF1D4: 8039CAF0 (JKRExpHeap__stringBase0) // 802CF1E0: 802E867C (JUTWarningConsole_f) // 802CF1F0: 8045137C (mErrorHandler__7JKRHeap) // 802CF214: 8033F11C (OSUnlockMutex) // 802CF220: 80362224 (_restgpr_28) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False // int False asm void JKRExpHeap::do_alloc(u32 param_0, int param_1) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_alloc__10JKRExpHeapFUli.s" } #pragma pop /* ############################################################################################## */ /* 80451398-8045139C 0004+00 s=1 e=0 z=0 None .sbss DBfoundSize */ static u8 DBfoundSize[4]; /* 8045139C-804513A0 0004+00 s=1 e=0 z=0 None .sbss DBfoundOffset */ static u8 DBfoundOffset[4]; /* 804513A0-804513A4 0004+00 s=1 e=0 z=0 None .sbss DBfoundBlock */ static u8 DBfoundBlock[4]; /* 804513A4-804513A8 0004+00 s=1 e=0 z=0 None .sbss DBnewFreeBlock */ static u8 DBnewFreeBlock[4]; /* 804513A8-804513B0 0004+04 s=1 e=0 z=0 None .sbss DBnewUsedBlock */ static u8 DBnewUsedBlock[4 + 4 /* padding */]; /* 802CF234-802CF490 025C+00 s=1 e=0 z=0 None .text allocFromHead__10JKRExpHeapFUli */ // 802CF244: 803621CC (_savegpr_25) // 802CF2C4: 80451398 (DBfoundSize) // 802CF2C8: 8045139C (DBfoundOffset) // 802CF2CC: 804513A0 (DBfoundBlock) // 802CF300: 802D0830 (allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc) // 802CF320: 802D0830 (allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc) // 802CF348: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802CF360: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802CF37C: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802CF388: 802CFDCC (appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF38C: 804513A4 (DBnewFreeBlock) // 802CF390: 804513A8 (DBnewUsedBlock) // 802CF3B4: 802CFEB4 (removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF3E0: 802D0830 (allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc) // 802CF3F8: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802CF404: 802CFDCC (appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF430: 802D0830 (allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc) // 802CF440: 802CFEB4 (removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF45C: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802CF468: 802CFDCC (appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF47C: 80362218 (_restgpr_25) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False // int False asm void JKRExpHeap::allocFromHead(u32 param_0, int param_1) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/allocFromHead__10JKRExpHeapFUli.s" } #pragma pop /* 802CF490-802CF574 00E4+00 s=1 e=0 z=0 None .text allocFromHead__10JKRExpHeapFUl */ // 802CF518: 802D0830 (allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc) // 802CF530: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802CF540: 802CFEB4 (removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF54C: 802CFDCC (appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False asm void JKRExpHeap::allocFromHead(u32 param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/allocFromHead__10JKRExpHeapFUl.s" } #pragma pop /* 802CF574-802CF6D4 0160+00 s=1 e=0 z=0 None .text allocFromTail__10JKRExpHeapFUli */ // 802CF584: 803621D4 (_savegpr_27) // 802CF60C: 802D0810 (initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc) // 802CF628: 802CFDCC (appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF644: 802CFEB4 (removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF664: 802D0810 (initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc) // 802CF670: 802CFDCC (appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF684: 802CFEB4 (removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF6A0: 802D0810 (initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc) // 802CF6AC: 802CFDCC (appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF6C0: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False // int False asm void JKRExpHeap::allocFromTail(u32 param_0, int param_1) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/allocFromTail__10JKRExpHeapFUli.s" } #pragma pop /* 802CF6D4-802CF7AC 00D8+00 s=1 e=0 z=0 None .text allocFromTail__10JKRExpHeapFUl */ // 802CF6E4: 803621DC (_savegpr_29) // 802CF73C: 802D0874 (allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc) // 802CF758: 802CFEB4 (removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF778: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802CF784: 802CFDCC (appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CF798: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False asm void JKRExpHeap::allocFromTail(u32 param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/allocFromTail__10JKRExpHeapFUl.s" } #pragma pop /* 802CF7AC-802CF820 0074+00 s=1 e=0 z=0 None .text do_free__10JKRExpHeapFPv */ // 802CF7CC: 8033F040 (OSLockMutex) // 802CF7EC: 802D091C (getHeapBlock__Q210JKRExpHeap9CMemBlockFPv) // 802CF7FC: 802D08CC (free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap) // 802CF804: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // void* False // void False asm void JKRExpHeap::do_free(void* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_free__10JKRExpHeapFPv.s" } #pragma pop /* 802CF820-802CF89C 007C+00 s=1 e=0 z=0 None .text do_freeAll__10JKRExpHeapFv */ // 802CF838: 8033F040 (OSLockMutex) // 802CF840: 802CE574 (callAllDisposer__7JKRHeapFv) // 802CF870: 802D0810 (initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc) // 802CF884: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::do_freeAll() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_freeAll__10JKRExpHeapFv.s" } #pragma pop /* 802CF89C-802CF924 0088+00 s=1 e=0 z=0 None .text do_freeTail__10JKRExpHeapFv */ // 802CF8AC: 803621DC (_savegpr_29) // 802CF8B8: 8033F040 (OSLockMutex) // 802CF8DC: 802CEA78 (dispose__7JKRHeapFPvUl) // 802CF8EC: 802D08CC (free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap) // 802CF908: 8033F11C (OSUnlockMutex) // 802CF910: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::do_freeTail() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_freeTail__10JKRExpHeapFv.s" } #pragma pop /* 802CF924-802CF928 0004+00 s=1 e=0 z=0 None .text do_fillFreeArea__10JKRExpHeapFv */ // True False // void False void JKRExpHeap::do_fillFreeArea() { /* empty function */ } /* 802CF928-802CF978 0050+00 s=1 e=0 z=0 None .text do_changeGroupID__10JKRExpHeapFUc */ // 802CF938: 803621DC (_savegpr_29) // 802CF948: 8033F040 (OSLockMutex) // 802CF958: 8033F11C (OSUnlockMutex) // 802CF964: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u8 False asm void JKRExpHeap::do_changeGroupID(u8 param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_changeGroupID__10JKRExpHeapFUc.s" } #pragma pop /* 802CF978-802CFB24 01AC+00 s=1 e=0 z=0 None .text do_resize__10JKRExpHeapFPvUl */ // 802CF988: 803621D8 (_savegpr_28) // 802CF99C: 8033F040 (OSLockMutex) // 802CF9A4: 802D091C (getHeapBlock__Q210JKRExpHeap9CMemBlockFPv) // 802CF9CC: 8033F11C (OSUnlockMutex) // 802CF9F0: 8033F11C (OSUnlockMutex) // 802CFA3C: 8033F11C (OSUnlockMutex) // 802CFA60: 8033F11C (OSUnlockMutex) // 802CFA74: 802CFEB4 (removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CFAB4: 802D0830 (allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc) // 802CFAC4: 802CFF1C (recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CFAEC: 802D0830 (allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc) // 802CFAFC: 802CFF1C (recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802CFB04: 8033F11C (OSUnlockMutex) // 802CFB10: 80362224 (_restgpr_28) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // void* False // void False // u32 False asm void JKRExpHeap::do_resize(void* param_0, u32 param_1) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_resize__10JKRExpHeapFPvUl.s" } #pragma pop /* 802CFB24-802CFBA4 0080+00 s=1 e=0 z=0 None .text do_getSize__10JKRExpHeapFPv */ // 802CFB34: 803621DC (_savegpr_29) // 802CFB44: 8033F040 (OSLockMutex) // 802CFB4C: 802D091C (getHeapBlock__Q210JKRExpHeap9CMemBlockFPv) // 802CFB74: 8033F11C (OSUnlockMutex) // 802CFB84: 8033F11C (OSUnlockMutex) // 802CFB90: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // void* False // void False asm void JKRExpHeap::do_getSize(void* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_getSize__10JKRExpHeapFPv.s" } #pragma pop /* 802CFBA4-802CFC10 006C+00 s=1 e=0 z=0 None .text do_getFreeSize__10JKRExpHeapFv */ // 802CFBC0: 8033F040 (OSLockMutex) // 802CFBF0: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::do_getFreeSize() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_getFreeSize__10JKRExpHeapFv.s" } #pragma pop /* 802CFC10-802CFC84 0074+00 s=1 e=0 z=0 None .text do_getMaxFreeBlock__10JKRExpHeapFv */ // 802CFC2C: 8033F040 (OSLockMutex) // 802CFC64: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::do_getMaxFreeBlock() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_getMaxFreeBlock__10JKRExpHeapFv.s" } #pragma pop /* 802CFC84-802CFCE8 0064+00 s=1 e=0 z=0 None .text do_getTotalFreeSize__10JKRExpHeapFv */ // 802CFCA4: 8033F040 (OSLockMutex) // 802CFCC8: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::do_getTotalFreeSize() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_getTotalFreeSize__10JKRExpHeapFv.s" } #pragma pop /* 802CFCE8-802CFD64 007C+00 s=1 e=0 z=0 None .text getUsedSize__10JKRExpHeapCFUc */ // 802CFCF8: 803621DC (_savegpr_29) // 802CFD08: 8033F040 (OSLockMutex) // 802CFD44: 8033F11C (OSUnlockMutex) // 802CFD50: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u8 False asm void JKRExpHeap::getUsedSize(u8 param_0) const { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/getUsedSize__10JKRExpHeapCFUc.s" } #pragma pop /* 802CFD64-802CFDCC 0068+00 s=0 e=5 z=0 None .text getTotalUsedSize__10JKRExpHeapCFv */ // 802CFD80: 8033F040 (OSLockMutex) // 802CFDAC: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JKRExpHeap::getTotalUsedSize() const { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/getTotalUsedSize__10JKRExpHeapCFv.s" } #pragma pop /* 802CFDCC-802CFE68 009C+00 s=4 e=0 z=0 None .text appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock */ // 802CFDEC: 8039CAF0 (JKRExpHeap__stringBase0) // 802CFDF0: 8039CAF0 (JKRExpHeap__stringBase0) // 802CFE08: 802E21FC (panic_f__12JUTExceptionFPCciPCce) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False asm void JKRExpHeap::appendUsedList(JKRExpHeap::CMemBlock* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/appendUsedList__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock.s" } #pragma pop /* 802CFE68-802CFEB4 004C+00 s=5 e=0 z=0 None .text setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False asm void JKRExpHeap::setFreeBlock(JKRExpHeap::CMemBlock* param_0, JKRExpHeap::CMemBlock* param_1, JKRExpHeap::CMemBlock* param_2) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/func_802CFE68.s" } #pragma pop /* 802CFEB4-802CFEE8 0034+00 s=5 e=0 z=0 None .text removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False asm void JKRExpHeap::removeFreeBlock(JKRExpHeap::CMemBlock* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/removeFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock.s" } #pragma pop /* 802CFEE8-802CFF1C 0034+00 s=1 e=0 z=0 None .text removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False asm void JKRExpHeap::removeUsedBlock(JKRExpHeap::CMemBlock* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock.s" } #pragma pop /* 802CFF1C-802D00B4 0198+00 s=2 e=0 z=0 None .text recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock */ // 802CFF2C: 803621DC (_savegpr_29) // 802CFF8C: 802D0810 (initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc) // 802CFFA8: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802CFFCC: 802D0810 (initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc) // 802CFFE0: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802CFFEC: 802D00B4 (joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802D0014: 802D0810 (initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc) // 802D0028: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802D0034: 802D00B4 (joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802D007C: 802D00B4 (joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802D0088: 802D00B4 (joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802D00A0: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False asm void JKRExpHeap::recycleFreeBlock(JKRExpHeap::CMemBlock* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock.s" } #pragma pop /* 802D00B4-802D0190 00DC+00 s=1 e=0 z=0 None .text joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock */ // 802D00C4: 803621D4 (_savegpr_27) // 802D00F4: 8039CAF0 (JKRExpHeap__stringBase0) // 802D00F8: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0104: 802E867C (JUTWarningConsole_f) // 802D0108: 80451374 (sCurrentHeap__7JKRHeap) // 802D011C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0120: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0138: 802E21FC (panic_f__12JUTExceptionFPCciPCce) // 802D0174: 802CFE68 (setFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlock) // 802D017C: 80362220 (_restgpr_27) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False asm void JKRExpHeap::joinTwoBlocks(JKRExpHeap::CMemBlock* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/joinTwoBlocks__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock.s" } #pragma pop /* 802D0190-802D03B8 0228+00 s=1 e=0 z=0 None .text check__10JKRExpHeapFv */ // 802D01A0: 803621D8 (_savegpr_28) // 802D01AC: 8033F040 (OSLockMutex) // 802D01D8: 8039CAF0 (JKRExpHeap__stringBase0) // 802D01DC: 8039CAF0 (JKRExpHeap__stringBase0) // 802D01EC: 802E867C (JUTWarningConsole_f) // 802D020C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0210: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0220: 802E867C (JUTWarningConsole_f) // 802D0238: 8039CAF0 (JKRExpHeap__stringBase0) // 802D023C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0250: 802E867C (JUTWarningConsole_f) // 802D0268: 8039CAF0 (JKRExpHeap__stringBase0) // 802D026C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D027C: 802E867C (JUTWarningConsole_f) // 802D02D4: 8039CAF0 (JKRExpHeap__stringBase0) // 802D02D8: 8039CAF0 (JKRExpHeap__stringBase0) // 802D02E4: 802E867C (JUTWarningConsole_f) // 802D0304: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0308: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0318: 802E867C (JUTWarningConsole_f) // 802D0330: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0334: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0344: 802E867C (JUTWarningConsole_f) // 802D0364: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0368: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0378: 802E867C (JUTWarningConsole_f) // 802D0384: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0388: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0390: 802E86FC (JUTWarningConsole) // 802D0398: 8033F11C (OSUnlockMutex) // 802D03A4: 80362224 (_restgpr_28) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::check() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/check__10JKRExpHeapFv.s" } #pragma pop /* ############################################################################################## */ /* 80455F98-80455FA0 0004+04 s=2 e=0 z=0 None .sdata2 @1121 */ SECTION_SDATA2 static f32 lit_1121[1 + 1 /* padding */] = { 100.0f, /* padding */ 0.0f, }; /* 80455FA0-80455FA8 0008+00 s=2 e=0 z=0 None .sdata2 @1123 */ SECTION_SDATA2 static f64 lit_1123 = 4503599627370496.0 /* cast u32 to float */; /* 802D03B8-802D05CC 0214+00 s=1 e=0 z=0 None .text dump__10JKRExpHeapFv */ // 802D03C8: 803621CC (_savegpr_25) // 802D03D4: 8033F040 (OSLockMutex) // 802D03FC: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0400: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0408: 802E8648 (JUTReportConsole) // 802D040C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0410: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0418: 802E8648 (JUTReportConsole) // 802D0428: 8039CAF0 (JKRExpHeap__stringBase0) // 802D042C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0434: 802E8648 (JUTReportConsole) // 802D043C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0440: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0454: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0458: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0468: 802E85C8 (JUTReportConsole_f) // 802D048C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0490: 8039CAF0 (JKRExpHeap__stringBase0) // 802D04AC: 802E85C8 (JUTReportConsole_f) // 802D04D8: 8039CAF0 (JKRExpHeap__stringBase0) // 802D04DC: 8039CAF0 (JKRExpHeap__stringBase0) // 802D04E4: 802E8648 (JUTReportConsole) // 802D04F4: 8039CAF0 (JKRExpHeap__stringBase0) // 802D04F8: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0500: 802E8648 (JUTReportConsole) // 802D0508: 8039CAF0 (JKRExpHeap__stringBase0) // 802D050C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D053C: 802E85C8 (JUTReportConsole_f) // 802D0554: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0558: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0564: 80455F98 (lit_1121) // 802D0568: 80455FA0 (lit_1123) // 802D05A4: 802E85C8 (JUTReportConsole_f) // 802D05AC: 8033F11C (OSUnlockMutex) // 802D05B8: 80362218 (_restgpr_25) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::dump() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/dump__10JKRExpHeapFv.s" } #pragma pop /* 802D05CC-802D0810 0244+00 s=1 e=0 z=0 None .text dump_sort__10JKRExpHeapFv */ // 802D05DC: 803621CC (_savegpr_25) // 802D05E8: 8033F040 (OSLockMutex) // 802D0610: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0614: 8039CAF0 (JKRExpHeap__stringBase0) // 802D061C: 802E8648 (JUTReportConsole) // 802D0620: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0624: 8039CAF0 (JKRExpHeap__stringBase0) // 802D062C: 802E8648 (JUTReportConsole) // 802D063C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0640: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0648: 802E8648 (JUTReportConsole) // 802D0654: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0658: 8039CAF0 (JKRExpHeap__stringBase0) // 802D06A0: 8039CAF0 (JKRExpHeap__stringBase0) // 802D06A4: 8039CAF0 (JKRExpHeap__stringBase0) // 802D06B0: 802E85C8 (JUTReportConsole_f) // 802D06D4: 8039CAF0 (JKRExpHeap__stringBase0) // 802D06D8: 8039CAF0 (JKRExpHeap__stringBase0) // 802D06F4: 802E85C8 (JUTReportConsole_f) // 802D071C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0720: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0728: 802E8648 (JUTReportConsole) // 802D0738: 8039CAF0 (JKRExpHeap__stringBase0) // 802D073C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0744: 802E8648 (JUTReportConsole) // 802D074C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0750: 8039CAF0 (JKRExpHeap__stringBase0) // 802D0780: 802E85C8 (JUTReportConsole_f) // 802D0798: 8039CAF0 (JKRExpHeap__stringBase0) // 802D079C: 8039CAF0 (JKRExpHeap__stringBase0) // 802D07A8: 80455F98 (lit_1121) // 802D07AC: 80455FA0 (lit_1123) // 802D07E8: 802E85C8 (JUTReportConsole_f) // 802D07F0: 8033F11C (OSUnlockMutex) // 802D07FC: 80362218 (_restgpr_25) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::dump_sort() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/dump_sort__10JKRExpHeapFv.s" } #pragma pop /* 802D0810-802D0830 0020+00 s=4 e=0 z=0 None .text initiate__Q210JKRExpHeap9CMemBlockFPQ210JKRExpHeap9CMemBlockPQ210JKRExpHeap9CMemBlockUlUcUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // JKRExpHeap::CMemBlock* False // JKRExpHeap::CMemBlock False // u32 False // u8 False // u8 False asm void JKRExpHeap::CMemBlock::initiate(JKRExpHeap::CMemBlock* param_0, JKRExpHeap::CMemBlock* param_1, u32 param_2, u8 param_3, u8 param_4) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/func_802D0810.s" } #pragma pop /* 802D0830-802D0874 0044+00 s=3 e=0 z=0 None .text allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False // u8 False // u8 False // u8 False // u8 False asm void JKRExpHeap::CMemBlock::allocFore(u32 param_0, u8 param_1, u8 param_2, u8 param_3, u8 param_4) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc.s" } #pragma pop /* 802D0874-802D08CC 0058+00 s=1 e=0 z=0 None .text allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False // u8 False // u8 False // u8 False // u8 False asm void JKRExpHeap::CMemBlock::allocBack(u32 param_0, u8 param_1, u8 param_2, u8 param_3, u8 param_4) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc.s" } #pragma pop /* 802D08CC-802D091C 0050+00 s=2 e=0 z=0 None .text free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap */ // 802D08F0: 802CFEE8 (removeUsedBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) // 802D08FC: 802CFF1C (recycleFreeBlock__10JKRExpHeapFPQ210JKRExpHeap9CMemBlock) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRExpHeap* False // JKRExpHeap False asm void JKRExpHeap::CMemBlock::free(JKRExpHeap* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap.s" } #pragma pop /* 802D091C-802D0938 001C+00 s=3 e=0 z=0 None .text getHeapBlock__Q210JKRExpHeap9CMemBlockFPv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // void* False // void False asm void JKRExpHeap::CMemBlock::getHeapBlock(void* param_0) { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/getHeapBlock__Q210JKRExpHeap9CMemBlockFPv.s" } #pragma pop /* 802D0938-802D09E0 00A8+00 s=1 e=0 z=0 None .text state_register__10JKRExpHeapCFPQ27JKRHeap6TStateUl */ // 802D0948: 803621DC (_savegpr_29) // 802D0968: 802CFCE8 (getUsedSize__10JKRExpHeapCFUc) // 802D0974: 802CE784 (getTotalFreeSize__7JKRHeapFv) // 802D09CC: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRHeap::TState* False // JKRHeap::TState False // u32 False asm void JKRExpHeap::state_register(JKRHeap::TState* param_0, u32 param_1) const { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/state_register__10JKRExpHeapCFPQ27JKRHeap6TStateUl.s" } #pragma pop /* 802D09E0-802D0A10 0030+00 s=1 e=0 z=0 None .text state_compare__10JKRExpHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // JKRHeap::TState const& False // JKRHeap::TState const False // JKRHeap::TState False // JKRHeap::TState const& False // JKRHeap::TState const False // JKRHeap::TState False asm void JKRExpHeap::state_compare(JKRHeap::TState const& param_0, JKRHeap::TState const& param_1) const { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/state_compare__10JKRExpHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState.s" } #pragma pop /* 802D0A10-802D0A1C 000C+00 s=1 e=0 z=0 None .text getHeapType__10JKRExpHeapFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::getHeapType() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/getHeapType__10JKRExpHeapFv.s" } #pragma pop /* 802D0A1C-802D0A24 0008+00 s=1 e=0 z=0 None .text do_getCurrentGroupId__10JKRExpHeapFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm void JKRExpHeap::do_getCurrentGroupId() { nofralloc #include "asm/JSystem/JKernel/JKRExpHeap/do_getCurrentGroupId__10JKRExpHeapFv.s" } #pragma pop