// // Generated By: dol2asm // Translation Unit: JKRAramHeap // #include "dol2asm.h" #include "dolphin/types.h" #include "JSystem/JKernel/JKRAramHeap.h" // // Types: // struct JSUPtrLink { }; struct JSUPtrList { /* 802DBEAC */ // False False ~JSUPtrList(); /* 802DBF14 */ // False False void initiate(); /* 802DBF4C */ // False False // JSUPtrLink* False // JSUPtrLink False void append(JSUPtrLink*); }; template struct JSUList { }; /* JSUList */ struct JSUList__template6 { /* 802D32B0 */ // False True ~JSUList__template6(); }; struct JKRHeap { /* 802CE83C */ // False False // void* False // void False void findFromRoot(void*); }; struct JKRDisposer { /* 802D147C */ // False False JKRDisposer(); /* 802D14E4 */ // False False ~JKRDisposer(); }; struct JKRAramHeap { struct EAllocMode { }; /* 802D2E44 */ // False False // u32 False // u32 False JKRAramHeap(u32, u32); /* 802D2F14 */ // True False ~JKRAramHeap(); /* 802D2FBC */ // False False // u32 False // JKRAramHeap::EAllocMode False void alloc(u32, JKRAramHeap::EAllocMode); /* 802D3034 */ // True False // u32 False void allocFromHead(u32); /* 802D30BC */ // True False // u32 False void allocFromTail(u32); /* 802D3134 */ // False False void getFreeSize(); /* 802D31AC */ // False False void getTotalFreeSize(); /* 802D3218 */ // False False void dump(); }; struct JKRAramBlock { /* 802D3304 */ // False False // u32 False // u32 False // u32 False // u8 False // bool False JKRAramBlock(u32, u32, u32, u8, bool); /* 802D3434 */ // False False // u32 False // u8 False // JKRAramHeap* False // JKRAramHeap False void allocHead(u32, u8, JKRAramHeap*); /* 802D34D0 */ // False False // u32 False // u8 False // JKRAramHeap* False // JKRAramHeap False void allocTail(u32, u8, JKRAramHeap*); }; // // Forward References: // // False False // u32 False // u32 False extern "C" void __ct__11JKRAramHeapFUlUl(); // True False extern "C" void __dt__11JKRAramHeapFv(); // False False // u32 False // JKRAramHeap::EAllocMode False extern "C" void alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode(); // True False // u32 False extern "C" void allocFromHead__11JKRAramHeapFUl(); // True False // u32 False extern "C" void allocFromTail__11JKRAramHeapFUl(); // False False extern "C" void getFreeSize__11JKRAramHeapFv(); // False False extern "C" void getTotalFreeSize__11JKRAramHeapFv(); // False False extern "C" void dump__11JKRAramHeapFv(); // False False extern "C" void __sinit_JKRAramHeap_cpp(); // False True extern "C" void func_802D32B0(); extern "C" extern void* __vt__11JKRAramHeap[3 + 1 /* padding */]; // // External References: // // False False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // int False void* operator new(u32, JKRHeap*, int); // False False // void False // void* False // void False void operator delete(void*); // False False // void* False // void False extern "C" void findFromRoot__7JKRHeapFPv(); // False False // void* False // void False // u32 False // JKRHeap* False // JKRHeap False // int False extern "C" void* __nw__FUlP7JKRHeapi(); // False False // void False // void* False // void False extern "C" void __dl__FPv(); // False False extern "C" void __ct__11JKRDisposerFv(); // False False extern "C" void __dt__11JKRDisposerFv(); // False False // u32 False // u32 False // u32 False // u8 False // bool False extern "C" void __ct__12JKRAramBlockFUlUlUlUcb(); // False False // u32 False // u8 False // JKRAramHeap* False // JKRAramHeap False extern "C" void allocHead__12JKRAramBlockFUlUcP11JKRAramHeap(); // False False // u32 False // u8 False // JKRAramHeap* False // JKRAramHeap False extern "C" void allocTail__12JKRAramBlockFUlUcP11JKRAramHeap(); // False False extern "C" void __dt__10JSUPtrListFv(); // False False extern "C" void initiate__10JSUPtrListFv(); // False False // JSUPtrLink* False // JSUPtrLink False extern "C" void append__10JSUPtrListFP10JSUPtrLink(); // False False extern "C" void OSInitMutex(); // False False extern "C" void OSLockMutex(); // False False extern "C" void OSUnlockMutex(); // False False extern "C" void __register_global_object(); // False False extern "C" void _savegpr_29(); // False False extern "C" void _restgpr_29(); // // Declarations: // /* ############################################################################################## */ /* 803CC168-803CC178 000C+04 s=2 e=0 z=0 None .data __vt__11JKRAramHeap */ SECTION_DATA void* __vt__11JKRAramHeap[3 + 1 /* padding */] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__11JKRAramHeapFv, /* padding */ NULL, }; /* 80434300-8043430C 000C+00 s=1 e=0 z=0 None .bss @297 */ static u8 lit_297[12]; /* 8043430C-80434318 000C+00 s=8 e=0 z=0 None .bss sAramList__11JKRAramHeap */ static u8 sAramList__11JKRAramHeap[12]; /* 802D2E44-802D2F14 00D0+00 s=0 e=1 z=0 None .text __ct__11JKRAramHeapFUlUl */ // 802D2E54: 803621DC (_savegpr_29) // 802D2E64: 802D147C (__ct__11JKRDisposerFv) // 802D2E68: 803CC168 (__vt__11JKRAramHeap) // 802D2E6C: 803CC168 (__vt__11JKRAramHeap) // 802D2E78: 8033F008 (OSInitMutex) // 802D2E80: 802CE83C (findFromRoot__7JKRHeapFPv) // 802D2EC0: 802CEC98 (__nw__FUlP7JKRHeapi) // 802D2EE0: 802D3304 (__ct__12JKRAramBlockFUlUlUlUcb) // 802D2EE8: 8043430C (sAramList__11JKRAramHeap) // 802D2EEC: 8043430C (sAramList__11JKRAramHeap) // 802D2EF4: 802DBF4C (append__10JSUPtrListFP10JSUPtrLink) // 802D2F00: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u32 False // u32 False asm JKRAramHeap::JKRAramHeap(u32 param_0, u32 param_1) { nofralloc #include "asm/JSystem/JKernel/JKRAramHeap/__ct__11JKRAramHeapFUlUl.s" } #pragma pop /* 802D2F14-802D2FBC 00A8+00 s=1 e=0 z=0 None .text __dt__11JKRAramHeapFv */ // 802D2F24: 803621DC (_savegpr_29) // 802D2F34: 803CC168 (__vt__11JKRAramHeap) // 802D2F38: 803CC168 (__vt__11JKRAramHeap) // 802D2F40: 8043430C (sAramList__11JKRAramHeap) // 802D2F44: 8043430C (sAramList__11JKRAramHeap) // 802D2F8C: 802D14E4 (__dt__11JKRDisposerFv) // 802D2F9C: 802CED3C (__dl__FPv) // 802D2FA8: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False asm JKRAramHeap::~JKRAramHeap() { nofralloc #include "asm/JSystem/JKernel/JKRAramHeap/__dt__11JKRAramHeapFv.s" } #pragma pop /* 802D2FBC-802D3034 0078+00 s=0 e=5 z=0 None .text alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode */ // 802D2FCC: 803621DC (_savegpr_29) // 802D2FE0: 8033F040 (OSLockMutex) // 802D2FF4: 802D3034 (allocFromHead__11JKRAramHeapFUl) // 802D3008: 802D30BC (allocFromTail__11JKRAramHeapFUl) // 802D3014: 8033F11C (OSUnlockMutex) // 802D3020: 80362228 (_restgpr_29) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False // u32 False // JKRAramHeap::EAllocMode False asm void JKRAramHeap::alloc(u32 param_0, JKRAramHeap::EAllocMode param_1) { nofralloc #include "asm/JSystem/JKernel/JKRAramHeap/alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode.s" } #pragma pop /* 802D3034-802D30BC 0088+00 s=1 e=0 z=0 None .text allocFromHead__11JKRAramHeapFUl */ // 802D3054: 8043430C (sAramList__11JKRAramHeap) // 802D3058: 8043430C (sAramList__11JKRAramHeap) // 802D30A0: 802D3434 (allocHead__12JKRAramBlockFUlUcP11JKRAramHeap) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False asm void JKRAramHeap::allocFromHead(u32 param_0) { nofralloc #include "asm/JSystem/JKernel/JKRAramHeap/allocFromHead__11JKRAramHeapFUl.s" } #pragma pop /* 802D30BC-802D3134 0078+00 s=1 e=0 z=0 None .text allocFromTail__11JKRAramHeapFUl */ // 802D30D8: 8043430C (sAramList__11JKRAramHeap) // 802D30DC: 8043430C (sAramList__11JKRAramHeap) // 802D3118: 802D34D0 (allocTail__12JKRAramBlockFUlUcP11JKRAramHeap) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // True False // u32 False asm void JKRAramHeap::allocFromTail(u32 param_0) { nofralloc #include "asm/JSystem/JKernel/JKRAramHeap/allocFromTail__11JKRAramHeapFUl.s" } #pragma pop /* 802D3134-802D31AC 0078+00 s=0 e=1 z=0 None .text getFreeSize__11JKRAramHeapFv */ // 802D3154: 8033F040 (OSLockMutex) // 802D3158: 8043430C (sAramList__11JKRAramHeap) // 802D315C: 8043430C (sAramList__11JKRAramHeap) // 802D318C: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JKRAramHeap::getFreeSize() { nofralloc #include "asm/JSystem/JKernel/JKRAramHeap/getFreeSize__11JKRAramHeapFv.s" } #pragma pop /* 802D31AC-802D3218 006C+00 s=0 e=2 z=0 None .text getTotalFreeSize__11JKRAramHeapFv */ // 802D31CC: 8033F040 (OSLockMutex) // 802D31D0: 8043430C (sAramList__11JKRAramHeap) // 802D31D4: 8043430C (sAramList__11JKRAramHeap) // 802D31F8: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JKRAramHeap::getTotalFreeSize() { nofralloc #include "asm/JSystem/JKernel/JKRAramHeap/getTotalFreeSize__11JKRAramHeapFv.s" } #pragma pop /* 802D3218-802D326C 0054+00 s=0 e=2 z=0 None .text dump__11JKRAramHeapFv */ // 802D3230: 8033F040 (OSLockMutex) // 802D3234: 8043430C (sAramList__11JKRAramHeap) // 802D3238: 8043430C (sAramList__11JKRAramHeap) // 802D3254: 8033F11C (OSUnlockMutex) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False asm void JKRAramHeap::dump() { nofralloc #include "asm/JSystem/JKernel/JKRAramHeap/dump__11JKRAramHeapFv.s" } #pragma pop /* 802D326C-802D32B0 0044+00 s=0 e=0 z=0 None .text __sinit_JKRAramHeap_cpp */ // 802D3278: 8043430C (sAramList__11JKRAramHeap) // 802D327C: 8043430C (sAramList__11JKRAramHeap) // 802D3280: 802DBF14 (initiate__10JSUPtrListFv) // 802D3284: 8043430C (sAramList__11JKRAramHeap) // 802D3288: 8043430C (sAramList__11JKRAramHeap) // 802D328C: 802D32B0 (func_802D32B0) // 802D3290: 802D32B0 (func_802D32B0) // 802D3294: 80434300 (lit_297) // 802D3298: 80434300 (lit_297) // 802D329C: 80361C24 (__register_global_object) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False False extern "C" asm void __sinit_JKRAramHeap_cpp() { nofralloc #include "asm/JSystem/JKernel/JKRAramHeap/__sinit_JKRAramHeap_cpp.s" } #pragma pop #pragma push #pragma force_active on #pragma section ".ctors$15" __declspec(section ".ctors$15") void* const _ctors_802D326C = (void*)__sinit_JKRAramHeap_cpp; #pragma pop /* 802D32B0-802D3304 0054+00 s=1 e=0 z=0 None .text __dt__23JSUList<12JKRAramBlock>Fv */ // 802D32D4: 802DBEAC (__dt__10JSUPtrListFv) // 802D32E4: 802CED3C (__dl__FPv) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off // False True asm JSUList__template6::~JSUList__template6() { nofralloc #include "asm/JSystem/JKernel/JKRAramHeap/func_802D32B0.s" } #pragma pop