mirror of https://github.com/zeldaret/tp.git
413 lines
14 KiB
C++
413 lines
14 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: JKRSolidHeap
|
|
//
|
|
|
|
#include "JSystem/JKernel/JKRSolidHeap.h"
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
|
|
//
|
|
// Types:
|
|
//
|
|
|
|
struct JKRHeap {
|
|
struct TState {};
|
|
|
|
/* 800065D8 */ bool dump_sort();
|
|
/* 802CE138 */ JKRHeap(void*, u32, JKRHeap*, bool);
|
|
/* 802CE264 */ ~JKRHeap();
|
|
/* 802CE474 */ void alloc(u32, int, JKRHeap*);
|
|
/* 802CE500 */ void free(void*, JKRHeap*);
|
|
/* 802CE574 */ void callAllDisposer();
|
|
/* 802CE684 */ void resize(void*, u32);
|
|
/* 802CE72C */ void getFreeSize();
|
|
/* 802CE784 */ void getTotalFreeSize();
|
|
/* 802CE7DC */ void getMaxAllocatableSize(int);
|
|
/* 802CEAA0 */ void dispose(void*, void*);
|
|
/* 802CEAC0 */ void dispose();
|
|
/* 802CEDA0 */ void state_dump(JKRHeap::TState const&) const;
|
|
/* 802CEDA4 */ bool do_changeGroupID(u8);
|
|
/* 802CEDAC */ bool do_getCurrentGroupId();
|
|
|
|
static u8 sRootHeap[4];
|
|
static u8 mErrorHandler[4];
|
|
};
|
|
|
|
struct JKRSolidHeap {
|
|
/* 802D0A24 */ void create(u32, JKRHeap*, bool);
|
|
/* 802D0AD0 */ void do_destroy();
|
|
/* 802D0B30 */ JKRSolidHeap(void*, u32, JKRHeap*, bool);
|
|
/* 802D0B8C */ ~JKRSolidHeap();
|
|
/* 802D0BF4 */ void adjustSize();
|
|
/* 802D0CB0 */ void do_alloc(u32, int);
|
|
/* 802D0D58 */ void allocFromHead(u32, int);
|
|
/* 802D0E20 */ void allocFromTail(u32, int);
|
|
/* 802D0EE4 */ void do_free(void*);
|
|
/* 802D0F14 */ void do_freeAll();
|
|
/* 802D0F74 */ void do_freeTail();
|
|
/* 802D1000 */ void do_fillFreeArea();
|
|
/* 802D1004 */ void do_resize(void*, u32);
|
|
/* 802D1038 */ void do_getSize(void*);
|
|
/* 802D106C */ void check();
|
|
/* 802D10FC */ void dump();
|
|
/* 802D11FC */ void state_register(JKRHeap::TState*, u32) const;
|
|
/* 802D1258 */ void state_compare(JKRHeap::TState const&, JKRHeap::TState const&) const;
|
|
/* 802D1288 */ void getHeapType();
|
|
/* 802D1294 */ void do_getFreeSize();
|
|
/* 802D129C */ void do_getMaxFreeBlock();
|
|
/* 802D12A4 */ void do_getTotalFreeSize();
|
|
};
|
|
|
|
//
|
|
// Forward References:
|
|
//
|
|
|
|
extern "C" void create__12JKRSolidHeapFUlP7JKRHeapb();
|
|
extern "C" void do_destroy__12JKRSolidHeapFv();
|
|
extern "C" void __ct__12JKRSolidHeapFPvUlP7JKRHeapb();
|
|
extern "C" void __dt__12JKRSolidHeapFv();
|
|
extern "C" void adjustSize__12JKRSolidHeapFv();
|
|
extern "C" void do_alloc__12JKRSolidHeapFUli();
|
|
extern "C" void allocFromHead__12JKRSolidHeapFUli();
|
|
extern "C" void allocFromTail__12JKRSolidHeapFUli();
|
|
extern "C" void do_free__12JKRSolidHeapFPv();
|
|
extern "C" void do_freeAll__12JKRSolidHeapFv();
|
|
extern "C" void do_freeTail__12JKRSolidHeapFv();
|
|
extern "C" void do_fillFreeArea__12JKRSolidHeapFv();
|
|
extern "C" void do_resize__12JKRSolidHeapFPvUl();
|
|
extern "C" void do_getSize__12JKRSolidHeapFPv();
|
|
extern "C" void check__12JKRSolidHeapFv();
|
|
extern "C" void dump__12JKRSolidHeapFv();
|
|
extern "C" void state_register__12JKRSolidHeapCFPQ27JKRHeap6TStateUl();
|
|
extern "C" void state_compare__12JKRSolidHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState();
|
|
extern "C" void getHeapType__12JKRSolidHeapFv();
|
|
extern "C" void do_getFreeSize__12JKRSolidHeapFv();
|
|
extern "C" void do_getMaxFreeBlock__12JKRSolidHeapFv();
|
|
extern "C" void do_getTotalFreeSize__12JKRSolidHeapFv();
|
|
extern "C" extern char const* const JKRSolidHeap__stringBase0;
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
extern "C" bool dump_sort__7JKRHeapFv();
|
|
extern "C" void __ct__7JKRHeapFPvUlP7JKRHeapb();
|
|
extern "C" void __dt__7JKRHeapFv();
|
|
extern "C" void alloc__7JKRHeapFUliP7JKRHeap();
|
|
extern "C" void free__7JKRHeapFPvP7JKRHeap();
|
|
extern "C" void callAllDisposer__7JKRHeapFv();
|
|
extern "C" void resize__7JKRHeapFPvUl();
|
|
extern "C" void getFreeSize__7JKRHeapFv();
|
|
extern "C" void getTotalFreeSize__7JKRHeapFv();
|
|
extern "C" void getMaxAllocatableSize__7JKRHeapFi();
|
|
extern "C" void dispose__7JKRHeapFPvPv();
|
|
extern "C" void dispose__7JKRHeapFv();
|
|
extern "C" void __dl__FPv();
|
|
extern "C" void state_dump__7JKRHeapCFRCQ27JKRHeap6TState();
|
|
extern "C" bool do_changeGroupID__7JKRHeapFUc();
|
|
extern "C" bool do_getCurrentGroupId__7JKRHeapFv();
|
|
extern "C" void JUTReportConsole_f();
|
|
extern "C" void JUTWarningConsole_f();
|
|
extern "C" void OSLockMutex();
|
|
extern "C" void OSUnlockMutex();
|
|
extern "C" void _savegpr_28();
|
|
extern "C" void _savegpr_29();
|
|
extern "C" void _restgpr_28();
|
|
extern "C" void _restgpr_29();
|
|
extern "C" u8 sRootHeap__7JKRHeap[4];
|
|
extern "C" u8 mErrorHandler__7JKRHeap[4];
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
/* 802D0A24-802D0AD0 2CB364 00AC+00 0/0 4/4 1/1 .text create__12JKRSolidHeapFUlP7JKRHeapb
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::create(u32 param_0, JKRHeap* param_1, bool param_2) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/create__12JKRSolidHeapFUlP7JKRHeapb.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D0AD0-802D0B30 2CB410 0060+00 1/0 0/0 0/0 .text do_destroy__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::do_destroy() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/do_destroy__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 803CC030-803CC090 029150 0060+00 2/2 0/0 0/0 .data __vt__12JKRSolidHeap */
|
|
SECTION_DATA extern void* __vt__12JKRSolidHeap[24] = {
|
|
(void*)NULL /* RTTI */,
|
|
(void*)NULL,
|
|
(void*)__dt__12JKRSolidHeapFv,
|
|
(void*)callAllDisposer__7JKRHeapFv,
|
|
(void*)getHeapType__12JKRSolidHeapFv,
|
|
(void*)check__12JKRSolidHeapFv,
|
|
(void*)dump_sort__7JKRHeapFv,
|
|
(void*)dump__12JKRSolidHeapFv,
|
|
(void*)do_destroy__12JKRSolidHeapFv,
|
|
(void*)do_alloc__12JKRSolidHeapFUli,
|
|
(void*)do_free__12JKRSolidHeapFPv,
|
|
(void*)do_freeAll__12JKRSolidHeapFv,
|
|
(void*)do_freeTail__12JKRSolidHeapFv,
|
|
(void*)do_fillFreeArea__12JKRSolidHeapFv,
|
|
(void*)do_resize__12JKRSolidHeapFPvUl,
|
|
(void*)do_getSize__12JKRSolidHeapFPv,
|
|
(void*)do_getFreeSize__12JKRSolidHeapFv,
|
|
(void*)do_getMaxFreeBlock__12JKRSolidHeapFv,
|
|
(void*)do_getTotalFreeSize__12JKRSolidHeapFv,
|
|
(void*)do_changeGroupID__7JKRHeapFUc,
|
|
(void*)do_getCurrentGroupId__7JKRHeapFv,
|
|
(void*)state_register__12JKRSolidHeapCFPQ27JKRHeap6TStateUl,
|
|
(void*)state_compare__12JKRSolidHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState,
|
|
(void*)state_dump__7JKRHeapCFRCQ27JKRHeap6TState,
|
|
};
|
|
|
|
/* 802D0B30-802D0B8C 2CB470 005C+00 1/1 0/0 0/0 .text __ct__12JKRSolidHeapFPvUlP7JKRHeapb
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm JKRSolidHeap::JKRSolidHeap(void* param_0, u32 param_1, JKRHeap* param_2, bool param_3) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/__ct__12JKRSolidHeapFPvUlP7JKRHeapb.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D0B8C-802D0BF4 2CB4CC 0068+00 1/0 0/0 0/0 .text __dt__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm JKRSolidHeap::~JKRSolidHeap() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/__dt__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D0BF4-802D0CB0 2CB534 00BC+00 0/0 5/5 1/1 .text adjustSize__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::adjustSize() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/adjustSize__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D0CB0-802D0D58 2CB5F0 00A8+00 1/0 0/0 0/0 .text do_alloc__12JKRSolidHeapFUli */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::do_alloc(u32 param_0, int param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/do_alloc__12JKRSolidHeapFUli.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D0D58-802D0E20 2CB698 00C8+00 1/1 0/0 0/0 .text allocFromHead__12JKRSolidHeapFUli
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::allocFromHead(u32 param_0, int param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/allocFromHead__12JKRSolidHeapFUli.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D0E20-802D0EE4 2CB760 00C4+00 1/1 0/0 0/0 .text allocFromTail__12JKRSolidHeapFUli
|
|
*/
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::allocFromTail(u32 param_0, int param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/allocFromTail__12JKRSolidHeapFUli.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D0EE4-802D0F14 2CB824 0030+00 1/0 0/0 0/0 .text do_free__12JKRSolidHeapFPv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::do_free(void* param_0) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/do_free__12JKRSolidHeapFPv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D0F14-802D0F74 2CB854 0060+00 1/0 0/0 0/0 .text do_freeAll__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::do_freeAll() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/do_freeAll__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D0F74-802D1000 2CB8B4 008C+00 1/0 0/0 0/0 .text do_freeTail__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::do_freeTail() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/do_freeTail__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D1000-802D1004 2CB940 0004+00 1/0 0/0 0/0 .text do_fillFreeArea__12JKRSolidHeapFv
|
|
*/
|
|
void JKRSolidHeap::do_fillFreeArea() {
|
|
/* empty function */
|
|
}
|
|
|
|
/* 802D1004-802D1038 2CB944 0034+00 1/0 0/0 0/0 .text do_resize__12JKRSolidHeapFPvUl */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::do_resize(void* param_0, u32 param_1) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/do_resize__12JKRSolidHeapFPvUl.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D1038-802D106C 2CB978 0034+00 1/0 0/0 0/0 .text do_getSize__12JKRSolidHeapFPv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::do_getSize(void* param_0) {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/do_getSize__12JKRSolidHeapFPv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D106C-802D10FC 2CB9AC 0090+00 1/0 0/0 0/0 .text check__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::check() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/check__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* ############################################################################################## */
|
|
/* 80455FA8-80455FB0 0045A8 0004+04 1/1 0/0 0/0 .sdata2 @693 */
|
|
SECTION_SDATA2 static f32 lit_693[1 + 1 /* padding */] = {
|
|
100.0f,
|
|
/* padding */
|
|
0.0f,
|
|
};
|
|
|
|
/* 80455FB0-80455FB8 0045B0 0008+00 1/1 0/0 0/0 .sdata2 @695 */
|
|
SECTION_SDATA2 static f64 lit_695 = 4503601774854144.0 /* cast s32 to float */;
|
|
|
|
/* 80455FB8-80455FC0 0045B8 0008+00 1/1 0/0 0/0 .sdata2 @697 */
|
|
SECTION_SDATA2 static f64 lit_697 = 4503599627370496.0 /* cast u32 to float */;
|
|
|
|
/* 802D10FC-802D11FC 2CBA3C 0100+00 1/0 0/0 0/0 .text dump__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::dump() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/dump__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D11FC-802D1258 2CBB3C 005C+00 1/0 0/0 0/0 .text
|
|
* state_register__12JKRSolidHeapCFPQ27JKRHeap6TStateUl */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::state_register(JKRHeap::TState* param_0, u32 param_1) const {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/state_register__12JKRSolidHeapCFPQ27JKRHeap6TStateUl.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D1258-802D1288 2CBB98 0030+00 1/0 0/0 0/0 .text
|
|
* state_compare__12JKRSolidHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::state_compare(JKRHeap::TState const& param_0,
|
|
JKRHeap::TState const& param_1) const {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/state_compare__12JKRSolidHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D1288-802D1294 2CBBC8 000C+00 1/0 0/0 0/0 .text getHeapType__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::getHeapType() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/getHeapType__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D1294-802D129C 2CBBD4 0008+00 1/0 0/0 0/0 .text do_getFreeSize__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::do_getFreeSize() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/do_getFreeSize__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D129C-802D12A4 2CBBDC 0008+00 1/0 0/0 0/0 .text do_getMaxFreeBlock__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::do_getMaxFreeBlock() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/do_getMaxFreeBlock__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 802D12A4-802D12C4 2CBBE4 0020+00 1/0 0/0 0/0 .text do_getTotalFreeSize__12JKRSolidHeapFv */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
asm void JKRSolidHeap::do_getTotalFreeSize() {
|
|
nofralloc
|
|
#include "asm/JSystem/JKernel/JKRSolidHeap/do_getTotalFreeSize__12JKRSolidHeapFv.s"
|
|
}
|
|
#pragma pop
|
|
|
|
/* 8039CE50-8039CFA8 0294B0 0157+01 7/7 0/0 0/0 .rodata @stringBase0 */
|
|
#pragma push
|
|
#pragma force_active on
|
|
#pragma section ".dead"
|
|
SECTION_DEAD static char const* const stringBase_8039CE50 =
|
|
"allocFromHead: cannot alloc memory (0x%x byte).\n";
|
|
SECTION_DEAD static char const* const stringBase_8039CE81 =
|
|
"allocFromTail: cannot alloc memory (0x%x byte).\n";
|
|
SECTION_DEAD static char const* const stringBase_8039CEB2 =
|
|
"free: cannot free memory block (%08x)\n";
|
|
SECTION_DEAD static char const* const stringBase_8039CED9 =
|
|
"resize: cannot resize memory block (%08x: %d)\n";
|
|
SECTION_DEAD static char const* const stringBase_8039CF08 =
|
|
"getSize: cannot get memory block size (%08x)\n";
|
|
SECTION_DEAD static char const* const stringBase_8039CF36 =
|
|
"check: bad total memory block size (%08X, %08X)\n";
|
|
SECTION_DEAD static char const* const stringBase_8039CF67 = "head %08x: %08x\n";
|
|
SECTION_DEAD static char const* const stringBase_8039CF78 = "tail %08x: %08x\n";
|
|
SECTION_DEAD static char const* const stringBase_8039CF89 = "%d / %d bytes (%6.2f%%) used\n";
|
|
/* @stringBase0 padding */
|
|
SECTION_DEAD static char const* const pad_8039CFA7 = "";
|
|
#pragma pop
|