Files
tp/libs/JSystem/JKernel/JKRAramHeap.cpp
T

224 lines
6.3 KiB
C++
Raw Normal View History

2021-04-01 02:07:58 +02:00
//
2021-03-28 22:49:05 +02:00
// Generated By: dol2asm
// Translation Unit: JKRAramHeap
2021-04-01 02:07:58 +02:00
//
2021-03-28 22:49:05 +02:00
2021-04-01 02:07:58 +02:00
#include "JSystem/JKernel/JKRAramHeap.h"
2021-03-28 22:49:05 +02:00
#include "dol2asm.h"
#include "dolphin/types.h"
2021-04-01 02:07:58 +02:00
//
2021-03-28 22:49:05 +02:00
// Types:
2021-04-01 02:07:58 +02:00
//
2021-03-28 22:49:05 +02:00
2021-04-01 02:07:58 +02:00
struct JSUPtrLink {};
2021-03-28 22:49:05 +02:00
struct JSUPtrList {
2021-04-01 02:07:58 +02:00
/* 802DBEAC */ ~JSUPtrList();
/* 802DBF14 */ void initiate();
/* 802DBF4C */ void append(JSUPtrLink*);
2021-03-28 22:49:05 +02:00
};
template <typename A0>
2021-04-01 02:07:58 +02:00
struct JSUList {};
2021-03-28 22:49:05 +02:00
/* JSUList<JKRAramBlock> */
struct JSUList__template6 {
/* 802D32B0 */ void func_802D32B0(void* _this);
2021-03-28 22:49:05 +02:00
};
struct JKRHeap {
2021-04-01 02:07:58 +02:00
/* 802CE83C */ void findFromRoot(void*);
2021-03-28 22:49:05 +02:00
};
struct JKRDisposer {
2021-04-01 02:07:58 +02:00
/* 802D147C */ JKRDisposer();
/* 802D14E4 */ ~JKRDisposer();
2021-03-28 22:49:05 +02:00
};
struct JKRAramHeap {
2021-04-01 02:07:58 +02:00
struct EAllocMode {};
2021-03-28 22:49:05 +02:00
2021-04-01 02:07:58 +02:00
/* 802D2E44 */ JKRAramHeap(u32, u32);
/* 802D2F14 */ ~JKRAramHeap();
/* 802D2FBC */ void alloc(u32, JKRAramHeap::EAllocMode);
/* 802D3034 */ void allocFromHead(u32);
/* 802D30BC */ void allocFromTail(u32);
/* 802D3134 */ void getFreeSize();
/* 802D31AC */ void getTotalFreeSize();
/* 802D3218 */ void dump();
2021-04-08 01:47:05 +02:00
static u8 sAramList[12];
2021-03-28 22:49:05 +02:00
};
struct JKRAramBlock {
2021-04-01 02:07:58 +02:00
/* 802D3304 */ JKRAramBlock(u32, u32, u32, u8, bool);
/* 802D3434 */ void allocHead(u32, u8, JKRAramHeap*);
/* 802D34D0 */ void allocTail(u32, u8, JKRAramHeap*);
2021-03-28 22:49:05 +02:00
};
2021-04-01 02:07:58 +02:00
//
2021-03-28 22:49:05 +02:00
// Forward References:
2021-04-01 02:07:58 +02:00
//
2021-03-28 22:49:05 +02:00
extern "C" void __ct__11JKRAramHeapFUlUl();
extern "C" void __dt__11JKRAramHeapFv();
extern "C" void alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode();
extern "C" void allocFromHead__11JKRAramHeapFUl();
extern "C" void allocFromTail__11JKRAramHeapFUl();
extern "C" void getFreeSize__11JKRAramHeapFv();
extern "C" void getTotalFreeSize__11JKRAramHeapFv();
extern "C" void dump__11JKRAramHeapFv();
extern "C" void __sinit_JKRAramHeap_cpp();
extern "C" void func_802D32B0(void* _this);
2021-04-08 01:47:05 +02:00
extern "C" u8 sAramList__11JKRAramHeap[12];
2021-03-28 22:49:05 +02:00
2021-04-01 02:07:58 +02:00
//
2021-03-28 22:49:05 +02:00
// External References:
2021-04-01 02:07:58 +02:00
//
2021-03-28 22:49:05 +02:00
extern "C" void findFromRoot__7JKRHeapFPv();
extern "C" void* __nw__FUlP7JKRHeapi();
extern "C" void __dl__FPv();
extern "C" void __ct__11JKRDisposerFv();
extern "C" void __dt__11JKRDisposerFv();
extern "C" void __ct__12JKRAramBlockFUlUlUlUcb();
extern "C" void allocHead__12JKRAramBlockFUlUcP11JKRAramHeap();
extern "C" void allocTail__12JKRAramBlockFUlUcP11JKRAramHeap();
extern "C" void __dt__10JSUPtrListFv();
extern "C" void initiate__10JSUPtrListFv();
extern "C" void append__10JSUPtrListFP10JSUPtrLink();
extern "C" void OSInitMutex();
extern "C" void OSLockMutex();
extern "C" void OSUnlockMutex();
extern "C" void __register_global_object();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
2021-04-01 02:07:58 +02:00
//
2021-03-28 22:49:05 +02:00
// Declarations:
2021-04-01 02:07:58 +02:00
//
2021-03-28 22:49:05 +02:00
/* ############################################################################################## */
2021-04-06 18:00:35 +02:00
/* 803CC168-803CC178 029288 000C+04 2/2 0/0 0/0 .data __vt__11JKRAramHeap */
SECTION_DATA extern void* __vt__11JKRAramHeap[3 + 1 /* padding */] = {
2021-04-01 02:07:58 +02:00
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__11JKRAramHeapFv,
/* padding */
NULL,
2021-03-28 22:49:05 +02:00
};
2021-04-06 18:00:35 +02:00
/* 80434300-8043430C 061020 000C+00 1/1 0/0 0/0 .bss @297 */
2021-03-28 22:49:05 +02:00
static u8 lit_297[12];
2021-04-06 18:00:35 +02:00
/* 8043430C-80434318 06102C 000C+00 8/8 0/0 0/0 .bss sAramList__11JKRAramHeap */
2021-04-08 01:47:05 +02:00
u8 JKRAramHeap::sAramList[12];
2021-03-28 22:49:05 +02:00
2021-04-06 18:00:35 +02:00
/* 802D2E44-802D2F14 2CD784 00D0+00 0/0 1/1 0/0 .text __ct__11JKRAramHeapFUlUl */
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm JKRAramHeap::JKRAramHeap(u32 param_0, u32 param_1) {
2021-04-01 02:07:58 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/JSystem/JKernel/JKRAramHeap/__ct__11JKRAramHeapFUlUl.s"
2021-01-31 15:33:34 -05:00
}
2021-03-28 22:49:05 +02:00
#pragma pop
2021-01-03 11:29:50 +01:00
2021-04-06 18:00:35 +02:00
/* 802D2F14-802D2FBC 2CD854 00A8+00 1/0 0/0 0/0 .text __dt__11JKRAramHeapFv */
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
2021-01-03 11:29:50 +01:00
asm JKRAramHeap::~JKRAramHeap() {
2021-04-01 02:07:58 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/JSystem/JKernel/JKRAramHeap/__dt__11JKRAramHeapFv.s"
2020-12-06 21:02:25 +01:00
}
2021-03-28 22:49:05 +02:00
#pragma pop
2020-12-06 21:02:25 +01:00
2021-04-06 18:00:35 +02:00
/* 802D2FBC-802D3034 2CD8FC 0078+00 0/0 5/5 0/0 .text
2021-04-01 02:07:58 +02:00
* alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode */
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRAramHeap::alloc(u32 param_0, JKRAramHeap::EAllocMode param_1) {
2021-04-01 02:07:58 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/JSystem/JKernel/JKRAramHeap/alloc__11JKRAramHeapFUlQ211JKRAramHeap10EAllocMode.s"
2020-12-06 21:02:25 +01:00
}
2021-03-28 22:49:05 +02:00
#pragma pop
2020-12-06 21:02:25 +01:00
2021-04-06 18:00:35 +02:00
/* 802D3034-802D30BC 2CD974 0088+00 1/1 0/0 0/0 .text allocFromHead__11JKRAramHeapFUl */
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRAramHeap::allocFromHead(u32 param_0) {
2021-04-01 02:07:58 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/JSystem/JKernel/JKRAramHeap/allocFromHead__11JKRAramHeapFUl.s"
2020-12-06 21:02:25 +01:00
}
2021-03-28 22:49:05 +02:00
#pragma pop
2020-12-06 21:02:25 +01:00
2021-04-06 18:00:35 +02:00
/* 802D30BC-802D3134 2CD9FC 0078+00 1/1 0/0 0/0 .text allocFromTail__11JKRAramHeapFUl */
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRAramHeap::allocFromTail(u32 param_0) {
2021-04-01 02:07:58 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/JSystem/JKernel/JKRAramHeap/allocFromTail__11JKRAramHeapFUl.s"
2020-12-06 21:02:25 +01:00
}
2021-03-28 22:49:05 +02:00
#pragma pop
2020-12-06 21:02:25 +01:00
2021-04-06 18:00:35 +02:00
/* 802D3134-802D31AC 2CDA74 0078+00 0/0 1/1 0/0 .text getFreeSize__11JKRAramHeapFv */
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRAramHeap::getFreeSize() {
2021-04-01 02:07:58 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/JSystem/JKernel/JKRAramHeap/getFreeSize__11JKRAramHeapFv.s"
2020-12-06 21:02:25 +01:00
}
2021-03-28 22:49:05 +02:00
#pragma pop
2020-12-06 21:02:25 +01:00
2021-04-06 18:00:35 +02:00
/* 802D31AC-802D3218 2CDAEC 006C+00 0/0 2/2 0/0 .text getTotalFreeSize__11JKRAramHeapFv
*/
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRAramHeap::getTotalFreeSize() {
2021-04-01 02:07:58 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/JSystem/JKernel/JKRAramHeap/getTotalFreeSize__11JKRAramHeapFv.s"
2020-12-06 21:02:25 +01:00
}
2021-03-28 22:49:05 +02:00
#pragma pop
2020-12-06 21:02:25 +01:00
2021-04-06 18:00:35 +02:00
/* 802D3218-802D326C 2CDB58 0054+00 0/0 2/2 0/0 .text dump__11JKRAramHeapFv */
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void JKRAramHeap::dump() {
2021-04-01 02:07:58 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/JSystem/JKernel/JKRAramHeap/dump__11JKRAramHeapFv.s"
2020-12-06 21:02:25 +01:00
}
2021-03-28 22:49:05 +02:00
#pragma pop
2020-12-06 21:02:25 +01:00
2021-04-06 18:00:35 +02:00
/* 802D326C-802D32B0 2CDBAC 0044+00 0/0 1/0 0/0 .text __sinit_JKRAramHeap_cpp */
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
2021-04-06 18:00:35 +02:00
asm void __sinit_JKRAramHeap_cpp() {
2021-04-01 02:07:58 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/JSystem/JKernel/JKRAramHeap/__sinit_JKRAramHeap_cpp.s"
2020-12-06 21:02:25 +01:00
}
2021-03-28 22:49:05 +02:00
#pragma pop
2021-03-31 23:22:32 +02:00
#pragma push
#pragma force_active on
REGISTER_CTORS(0x802D326C, __sinit_JKRAramHeap_cpp);
2021-03-31 23:22:32 +02:00
#pragma pop
2021-04-06 18:00:35 +02:00
/* 802D32B0-802D3304 2CDBF0 0054+00 1/1 0/0 0/0 .text __dt__23JSUList<12JKRAramBlock>Fv
*/
2021-03-28 22:49:05 +02:00
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void func_802D32B0(void* _this) {
2021-04-01 02:07:58 +02:00
nofralloc
2021-03-28 22:49:05 +02:00
#include "asm/JSystem/JKernel/JKRAramHeap/func_802D32B0.s"
}
#pragma pop