Files
tp/libs/JSystem/JKernel/JKRExpHeap.cpp
T
2021-03-31 23:22:38 +02:00

1487 lines
49 KiB
C++

//
// 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