mirror of
https://github.com/zeldaret/tp
synced 2026-06-14 22:29:14 -04:00
Adds JSUList, JKRDisposer, and JKRHeap. (#4)
* Added JSUList, JKRDisposer, and JKRHeap. JSUList: Decompiled JSUPtrLink and JSUPtrList with their respected functions. The templated class JSUList is left. JKRDisposer: Constructor matched but the destructor is close but not yet a match. JKRHeap: No functions matches yet. JKRHeap.cpp now includes "operator delete" which makes it possible to forward compile destructors. * moved files from src/ to libs/
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
#ifndef __JKRDISPOSER_H__
|
||||
#define __JKRDISPOSER_H__
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JSupport/JSUList.h"
|
||||
|
||||
class JKRHeap;
|
||||
class JKRDisposer {
|
||||
public:
|
||||
JKRDisposer();
|
||||
~JKRDisposer();
|
||||
|
||||
public:
|
||||
void** __vt;
|
||||
JKRHeap* heap;
|
||||
JSUPtrLink ptr_link;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,80 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "JKernel/JKRDisposer.h"
|
||||
|
||||
typedef void (*JKRErrorHandler)(void*, unsigned long, int);
|
||||
class JKRHeap : JKRDisposer {
|
||||
public:
|
||||
JKRHeap(void*, u32, JKRHeap*, bool);
|
||||
~JKRHeap();
|
||||
|
||||
static bool initArena(char**, u32*, int);
|
||||
void becomeSystemHeap();
|
||||
void becomeCurrentHeap();
|
||||
void destroy();
|
||||
|
||||
static void* alloc(u32 size, int alignment, JKRHeap* heap);
|
||||
void* alloc(u32 size, int alignment);
|
||||
|
||||
static void free(void* ptr, JKRHeap* heap);
|
||||
void free(void* ptr);
|
||||
|
||||
void callAllDisposer();
|
||||
void freeAll();
|
||||
void freeTail();
|
||||
|
||||
static s32 resize(void* ptr, u32 size, JKRHeap* heap);
|
||||
s32 resize(void* ptr, u32 size);
|
||||
|
||||
static s32 getSize(void* ptr, JKRHeap* heap);
|
||||
s32 getSize(void* ptr);
|
||||
|
||||
u32 getFreeSize();
|
||||
u32 getMaxFreeBlock();
|
||||
u32 getTotalFreeSize();
|
||||
u8 changeGroupID(u8 param_1);
|
||||
u32 getMaxAllocatableSize(int alignment);
|
||||
|
||||
static JKRHeap* findFromRoot(void* ptr);
|
||||
JKRHeap* find(void* ptr) const;
|
||||
JKRHeap* findAllHeap(void* ptr) const;
|
||||
|
||||
void dispose_subroutine(u32 begin, u32 end);
|
||||
void dispose(void* ptr, u32 size);
|
||||
void dispose(void* begin, void* end);
|
||||
void dispose();
|
||||
|
||||
static void copyMemory(void* dst, void* src, u32 size);
|
||||
static void JKRDefaultMemoryErrorRoutine(JKRHeap* heap, u32 size, int alignment);
|
||||
|
||||
bool setErrorFlag(bool param_1);
|
||||
static JKRErrorHandler setErrorHandler(JKRErrorHandler param_1);
|
||||
|
||||
bool isSubHeap(JKRHeap* heap) const;
|
||||
|
||||
public:
|
||||
u8 mutex[24];
|
||||
u32 begin;
|
||||
u32 end;
|
||||
u32 size;
|
||||
u8 field_0x3c;
|
||||
u8 field_0x3d;
|
||||
u8 field_0x3e;
|
||||
u8 field_0x3f;
|
||||
JSUPtrList child_list;
|
||||
JSUPtrLink heap_link;
|
||||
JSUPtrList disposable_list;
|
||||
bool error_handler;
|
||||
u8 field_0x69;
|
||||
};
|
||||
|
||||
void* operator new(u32 size);
|
||||
void* operator new(u32 size, int alignment);
|
||||
void* operator new(u32 size, JKRHeap* heap, int alignment);
|
||||
|
||||
void* operator new[](u32 size);
|
||||
void* operator new[](u32 size, int alignment);
|
||||
void* operator new[](u32 size, JKRHeap* heap, int alignment);
|
||||
|
||||
void operator delete(void* ptr);
|
||||
void operator delete[](void* ptr);
|
||||
@@ -0,0 +1,82 @@
|
||||
/* 802CE138 002CB078 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802CE13C 002CB07C 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE140 002CB080 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802CE144 002CB084 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE148 002CB088 48 09 40 89 */ bl func_803621D0
|
||||
/* 802CE14C 002CB08C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802CE150 002CB090 7C 9B 23 78 */ mr r27, r4
|
||||
/* 802CE154 002CB094 7C BC 2B 78 */ mr r28, r5
|
||||
/* 802CE158 002CB098 7C DD 33 78 */ mr r29, r6
|
||||
/* 802CE15C 002CB09C 7C FE 3B 78 */ mr r30, r7
|
||||
/* 802CE160 002CB0A0 48 00 33 1D */ bl __ct__11JKRDisposerFv
|
||||
/* 802CE164 002CB0A4 3C 60 80 3D */ lis r3, lbl_803CBF70@ha
|
||||
/* 802CE168 002CB0A8 38 03 BF 70 */ addi r0, r3, lbl_803CBF70@l
|
||||
/* 802CE16C 002CB0AC 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 802CE170 002CB0B0 3B 5F 00 40 */ addi r26, r31, 0x40
|
||||
/* 802CE174 002CB0B4 7F 43 D3 78 */ mr r3, r26
|
||||
/* 802CE178 002CB0B8 48 00 DD 9D */ bl initiate__10JSUPtrListFv
|
||||
/* 802CE17C 002CB0BC 38 7A 00 0C */ addi r3, r26, 0xc
|
||||
/* 802CE180 002CB0C0 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802CE184 002CB0C4 48 00 DC 79 */ bl __ct__10JSUPtrLinkFPv
|
||||
/* 802CE188 002CB0C8 38 7F 00 5C */ addi r3, r31, 0x5c
|
||||
/* 802CE18C 002CB0CC 48 00 DD 89 */ bl initiate__10JSUPtrListFv
|
||||
/* 802CE190 002CB0D0 38 7F 00 18 */ addi r3, r31, 0x18
|
||||
/* 802CE194 002CB0D4 48 07 0E 75 */ bl OSInitMutex
|
||||
/* 802CE198 002CB0D8 93 9F 00 38 */ stw r28, 0x38(r31)
|
||||
/* 802CE19C 002CB0DC 93 7F 00 30 */ stw r27, 0x30(r31)
|
||||
/* 802CE1A0 002CB0E0 7C 1B E2 14 */ add r0, r27, r28
|
||||
/* 802CE1A4 002CB0E4 90 1F 00 34 */ stw r0, 0x34(r31)
|
||||
/* 802CE1A8 002CB0E8 28 1D 00 00 */ cmplwi r29, 0
|
||||
/* 802CE1AC 002CB0EC 40 82 00 18 */ bne lbl_802CE1C4
|
||||
/* 802CE1B0 002CB0F0 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802CE1B4 002CB0F4 48 00 02 75 */ bl becomeSystemHeap__7JKRHeapFv
|
||||
/* 802CE1B8 002CB0F8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802CE1BC 002CB0FC 48 00 02 7D */ bl becomeCurrentHeap__7JKRHeapFv
|
||||
/* 802CE1C0 002CB100 48 00 00 48 */ b lbl_802CE208
|
||||
lbl_802CE1C4:
|
||||
/* 802CE1C4 002CB104 34 9F 00 40 */ addic. r4, r31, 0x40
|
||||
/* 802CE1C8 002CB108 41 82 00 08 */ beq lbl_802CE1D0
|
||||
/* 802CE1CC 002CB10C 38 84 00 0C */ addi r4, r4, 0xc
|
||||
lbl_802CE1D0:
|
||||
/* 802CE1D0 002CB110 38 7D 00 40 */ addi r3, r29, 0x40
|
||||
/* 802CE1D4 002CB114 48 00 DD 79 */ bl append__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802CE1D8 002CB118 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802CE1DC 002CB11C 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CE1E0 002CB120 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 802CE1E4 002CB124 40 82 00 0C */ bne lbl_802CE1F0
|
||||
/* 802CE1E8 002CB128 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802CE1EC 002CB12C 48 00 02 3D */ bl becomeSystemHeap__7JKRHeapFv
|
||||
lbl_802CE1F0:
|
||||
/* 802CE1F0 002CB130 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE1F4 002CB134 80 0D 8D F8 */ lwz r0, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CE1F8 002CB138 7C 03 00 40 */ cmplw r3, r0
|
||||
/* 802CE1FC 002CB13C 40 82 00 0C */ bne lbl_802CE208
|
||||
/* 802CE200 002CB140 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802CE204 002CB144 48 00 02 35 */ bl becomeCurrentHeap__7JKRHeapFv
|
||||
lbl_802CE208:
|
||||
/* 802CE208 002CB148 9B DF 00 68 */ stb r30, 0x68(r31)
|
||||
/* 802CE20C 002CB14C 88 1F 00 68 */ lbz r0, 0x68(r31)
|
||||
/* 802CE210 002CB150 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 802CE214 002CB154 40 82 00 1C */ bne lbl_802CE230
|
||||
/* 802CE218 002CB158 80 0D 8D FC */ lwz r0, lbl_8045137C-_SDA_BASE_(r13)
|
||||
/* 802CE21C 002CB15C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802CE220 002CB160 40 82 00 10 */ bne lbl_802CE230
|
||||
//.global JKRDefaultMemoryErrorRoutine__FPvUli
|
||||
/* 802CE224 002CB164 3C 60 80 2D */ lis r3, JKRDefaultMemoryErrorRoutine@ha
|
||||
//.global JKRDefaultMemoryErrorRoutine__FPvUli
|
||||
/* 802CE228 002CB168 38 03 EB 40 */ addi r0, r3, JKRDefaultMemoryErrorRoutine@l
|
||||
/* 802CE22C 002CB16C 90 0D 8D FC */ stw r0, lbl_8045137C-_SDA_BASE_(r13)
|
||||
lbl_802CE230:
|
||||
/* 802CE230 002CB170 88 0D 83 30 */ lbz r0, lbl_804508B0-_SDA_BASE_(r13)
|
||||
/* 802CE234 002CB174 98 1F 00 3C */ stb r0, 0x3c(r31)
|
||||
/* 802CE238 002CB178 88 0D 8E 00 */ lbz r0, lbl_80451380-_SDA_BASE_(r13)
|
||||
/* 802CE23C 002CB17C 98 1F 00 3D */ stb r0, 0x3d(r31)
|
||||
/* 802CE240 002CB180 38 00 00 00 */ li r0, 0
|
||||
/* 802CE244 002CB184 98 1F 00 69 */ stb r0, 0x69(r31)
|
||||
/* 802CE248 002CB188 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802CE24C 002CB18C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE250 002CB190 48 09 3F CD */ bl func_8036221C
|
||||
/* 802CE254 002CB194 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802CE258 002CB198 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE25C 002CB19C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802CE260 002CB1A0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,81 @@
|
||||
/* 802CE264 002CB1A4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE268 002CB1A8 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE26C 002CB1AC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE270 002CB1B0 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802CE274 002CB1B4 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802CE278 002CB1B8 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802CE27C 002CB1BC 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802CE280 002CB1C0 41 82 00 DC */ beq lbl_802CE35C
|
||||
/* 802CE284 002CB1C4 3C 60 80 3D */ lis r3, lbl_803CBF70@ha
|
||||
/* 802CE288 002CB1C8 38 03 BF 70 */ addi r0, r3, lbl_803CBF70@l
|
||||
/* 802CE28C 002CB1CC 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 802CE290 002CB1D0 80 7E 00 50 */ lwz r3, 0x50(r30)
|
||||
/* 802CE294 002CB1D4 34 9E 00 40 */ addic. r4, r30, 0x40
|
||||
/* 802CE298 002CB1D8 41 82 00 08 */ beq lbl_802CE2A0
|
||||
/* 802CE29C 002CB1DC 38 84 00 0C */ addi r4, r4, 0xc
|
||||
lbl_802CE2A0:
|
||||
/* 802CE2A0 002CB1E0 48 00 DE BD */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802CE2A4 002CB1E4 80 8D 8D F8 */ lwz r4, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CE2A8 002CB1E8 80 64 00 40 */ lwz r3, 0x40(r4)
|
||||
/* 802CE2AC 002CB1EC 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CE2B0 002CB1F0 41 82 00 08 */ beq lbl_802CE2B8
|
||||
/* 802CE2B4 002CB1F4 38 63 FF F4 */ addi r3, r3, -12
|
||||
lbl_802CE2B8:
|
||||
/* 802CE2B8 002CB1F8 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE2BC 002CB1FC 7C 00 F0 40 */ cmplw r0, r30
|
||||
/* 802CE2C0 002CB200 40 82 00 1C */ bne lbl_802CE2DC
|
||||
/* 802CE2C4 002CB204 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CE2C8 002CB208 40 82 00 0C */ bne lbl_802CE2D4
|
||||
/* 802CE2CC 002CB20C 7C 80 23 78 */ mr r0, r4
|
||||
/* 802CE2D0 002CB210 48 00 00 08 */ b lbl_802CE2D8
|
||||
lbl_802CE2D4:
|
||||
/* 802CE2D4 002CB214 80 03 00 0C */ lwz r0, 0xc(r3)
|
||||
lbl_802CE2D8:
|
||||
/* 802CE2D8 002CB218 90 0D 8D F4 */ stw r0, lbl_80451374-_SDA_BASE_(r13)
|
||||
lbl_802CE2DC:
|
||||
/* 802CE2DC 002CB21C 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802CE2E0 002CB220 7C 00 F0 40 */ cmplw r0, r30
|
||||
/* 802CE2E4 002CB224 40 82 00 18 */ bne lbl_802CE2FC
|
||||
/* 802CE2E8 002CB228 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CE2EC 002CB22C 40 82 00 08 */ bne lbl_802CE2F4
|
||||
/* 802CE2F0 002CB230 48 00 00 08 */ b lbl_802CE2F8
|
||||
lbl_802CE2F4:
|
||||
/* 802CE2F4 002CB234 80 83 00 0C */ lwz r4, 0xc(r3)
|
||||
lbl_802CE2F8:
|
||||
/* 802CE2F8 002CB238 90 8D 8D F0 */ stw r4, lbl_80451370-_SDA_BASE_(r13)
|
||||
lbl_802CE2FC:
|
||||
/* 802CE2FC 002CB23C 34 1E 00 5C */ addic. r0, r30, 0x5c
|
||||
/* 802CE300 002CB240 41 82 00 10 */ beq lbl_802CE310
|
||||
/* 802CE304 002CB244 38 7E 00 5C */ addi r3, r30, 0x5c
|
||||
/* 802CE308 002CB248 38 80 00 00 */ li r4, 0
|
||||
/* 802CE30C 002CB24C 48 00 DB A1 */ bl __dt__10JSUPtrListFv
|
||||
lbl_802CE310:
|
||||
/* 802CE310 002CB250 34 1E 00 40 */ addic. r0, r30, 0x40
|
||||
/* 802CE314 002CB254 41 82 00 2C */ beq lbl_802CE340
|
||||
/* 802CE318 002CB258 34 1E 00 4C */ addic. r0, r30, 0x4c
|
||||
/* 802CE31C 002CB25C 41 82 00 10 */ beq lbl_802CE32C
|
||||
/* 802CE320 002CB260 38 7E 00 4C */ addi r3, r30, 0x4c
|
||||
/* 802CE324 002CB264 38 80 00 00 */ li r4, 0
|
||||
/* 802CE328 002CB268 48 00 DA ED */ bl __dt__10JSUPtrLinkFv
|
||||
lbl_802CE32C:
|
||||
/* 802CE32C 002CB26C 34 1E 00 40 */ addic. r0, r30, 0x40
|
||||
/* 802CE330 002CB270 41 82 00 10 */ beq lbl_802CE340
|
||||
/* 802CE334 002CB274 38 7E 00 40 */ addi r3, r30, 0x40
|
||||
/* 802CE338 002CB278 38 80 00 00 */ li r4, 0
|
||||
/* 802CE33C 002CB27C 48 00 DB 71 */ bl __dt__10JSUPtrListFv
|
||||
lbl_802CE340:
|
||||
/* 802CE340 002CB280 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802CE344 002CB284 38 80 00 00 */ li r4, 0
|
||||
/* 802CE348 002CB288 48 00 31 9D */ bl __dt__11JKRDisposerFv
|
||||
/* 802CE34C 002CB28C 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802CE350 002CB290 40 81 00 0C */ ble lbl_802CE35C
|
||||
/* 802CE354 002CB294 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802CE358 002CB298 48 00 09 E5 */ bl __dl__FPv
|
||||
lbl_802CE35C:
|
||||
/* 802CE35C 002CB29C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802CE360 002CB2A0 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802CE364 002CB2A4 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802CE368 002CB2A8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE36C 002CB2AC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE370 002CB2B0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE374 002CB2B4 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,46 @@
|
||||
/* 802CE378 002CB2B8 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802CE37C 002CB2BC 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE380 002CB2C0 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802CE384 002CB2C4 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE388 002CB2C8 48 09 3E 4D */ bl _savegpr_27
|
||||
/* 802CE38C 002CB2CC 7C 7B 1B 78 */ mr r27, r3
|
||||
/* 802CE390 002CB2D0 7C 9C 23 78 */ mr r28, r4
|
||||
/* 802CE394 002CB2D4 7C BF 2B 78 */ mr r31, r5
|
||||
/* 802CE398 002CB2D8 48 06 CE FD */ bl OSGetArenaLo
|
||||
/* 802CE39C 002CB2DC 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802CE3A0 002CB2E0 48 06 CE ED */ bl OSGetArenaHi
|
||||
/* 802CE3A4 002CB2E4 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802CE3A8 002CB2E8 7C 1E E8 40 */ cmplw r30, r29
|
||||
/* 802CE3AC 002CB2EC 40 82 00 0C */ bne lbl_802CE3B8
|
||||
/* 802CE3B0 002CB2F0 38 60 00 00 */ li r3, 0
|
||||
/* 802CE3B4 002CB2F4 48 00 00 5C */ b lbl_802CE410
|
||||
lbl_802CE3B8:
|
||||
/* 802CE3B8 002CB2F8 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802CE3BC 002CB2FC 7F A4 EB 78 */ mr r4, r29
|
||||
/* 802CE3C0 002CB300 7F E5 FB 78 */ mr r5, r31
|
||||
/* 802CE3C4 002CB304 48 06 CD ED */ bl OSInitAlloc
|
||||
/* 802CE3C8 002CB308 38 03 00 1F */ addi r0, r3, 0x1f
|
||||
/* 802CE3CC 002CB30C 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
|
||||
/* 802CE3D0 002CB310 57 BE 00 34 */ rlwinm r30, r29, 0, 0, 0x1a
|
||||
/* 802CE3D4 002CB314 3C 60 80 00 */ lis r3, 0x80000028@ha
|
||||
/* 802CE3D8 002CB318 90 6D 8E 04 */ stw r3, lbl_80451384-_SDA_BASE_(r13)
|
||||
/* 802CE3DC 002CB31C 93 ED 8E 08 */ stw r31, lbl_80451388-_SDA_BASE_(r13)
|
||||
/* 802CE3E0 002CB320 93 ED 8E 0C */ stw r31, lbl_8045138C-_SDA_BASE_(r13)
|
||||
/* 802CE3E4 002CB324 93 CD 8E 10 */ stw r30, lbl_80451390-_SDA_BASE_(r13)
|
||||
/* 802CE3E8 002CB328 80 03 00 28 */ lwz r0, 0x80000028@l(r3)
|
||||
/* 802CE3EC 002CB32C 90 0D 8E 14 */ stw r0, lbl_80451394-_SDA_BASE_(r13)
|
||||
/* 802CE3F0 002CB330 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802CE3F4 002CB334 48 06 CE B1 */ bl OSSetArenaLo
|
||||
/* 802CE3F8 002CB338 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802CE3FC 002CB33C 48 06 CE A1 */ bl OSSetArenaHi
|
||||
/* 802CE400 002CB340 93 FB 00 00 */ stw r31, 0(r27)
|
||||
/* 802CE404 002CB344 7C 1F F0 50 */ subf r0, r31, r30
|
||||
/* 802CE408 002CB348 90 1C 00 00 */ stw r0, 0(r28)
|
||||
/* 802CE40C 002CB34C 38 60 00 01 */ li r3, 1
|
||||
lbl_802CE410:
|
||||
/* 802CE410 002CB350 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE414 002CB354 48 09 3E 0D */ bl _restgpr_27
|
||||
/* 802CE418 002CB358 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802CE41C 002CB35C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE420 002CB360 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802CE424 002CB364 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,4 @@
|
||||
/* 802CE428 002CB368 80 0D 8D F0 */ lwz r0, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802CE42C 002CB36C 90 6D 8D F0 */ stw r3, lbl_80451370-_SDA_BASE_(r13)
|
||||
/* 802CE430 002CB370 7C 03 03 78 */ mr r3, r0
|
||||
/* 802CE434 002CB374 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,4 @@
|
||||
/* 802CE438 002CB378 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE43C 002CB37C 90 6D 8D F4 */ stw r3, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE440 002CB380 7C 03 03 78 */ mr r3, r0
|
||||
/* 802CE444 002CB384 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE448 002CB388 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE44C 002CB38C 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE450 002CB390 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE454 002CB394 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE458 002CB398 81 8C 00 20 */ lwz r12, 0x20(r12)
|
||||
/* 802CE45C 002CB39C 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE460 002CB3A0 4E 80 04 21 */ bctrl
|
||||
/* 802CE464 002CB3A4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE468 002CB3A8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE46C 002CB3AC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE470 002CB3B0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,27 @@
|
||||
/* 802CE474 002CB3B4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE478 002CB3B8 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE47C 002CB3BC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE480 002CB3C0 7C 66 1B 78 */ mr r6, r3
|
||||
/* 802CE484 002CB3C4 7C 80 23 78 */ mr r0, r4
|
||||
/* 802CE488 002CB3C8 28 05 00 00 */ cmplwi r5, 0
|
||||
/* 802CE48C 002CB3CC 41 82 00 18 */ beq lbl_802CE4A4
|
||||
/* 802CE490 002CB3D0 7C A3 2B 78 */ mr r3, r5
|
||||
/* 802CE494 002CB3D4 7C C4 33 78 */ mr r4, r6
|
||||
/* 802CE498 002CB3D8 7C 05 03 78 */ mr r5, r0
|
||||
/* 802CE49C 002CB3DC 48 00 00 39 */ bl alloc__7JKRHeapFUli
|
||||
/* 802CE4A0 002CB3E0 48 00 00 24 */ b lbl_802CE4C4
|
||||
lbl_802CE4A4:
|
||||
/* 802CE4A4 002CB3E4 80 6D 8D F4 */ lwz r3, lbl_80451374-_SDA_BASE_(r13)
|
||||
/* 802CE4A8 002CB3E8 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CE4AC 002CB3EC 41 82 00 14 */ beq lbl_802CE4C0
|
||||
/* 802CE4B0 002CB3F0 7C C4 33 78 */ mr r4, r6
|
||||
/* 802CE4B4 002CB3F4 7C 05 03 78 */ mr r5, r0
|
||||
/* 802CE4B8 002CB3F8 48 00 00 1D */ bl alloc__7JKRHeapFUli
|
||||
/* 802CE4BC 002CB3FC 48 00 00 08 */ b lbl_802CE4C4
|
||||
lbl_802CE4C0:
|
||||
/* 802CE4C0 002CB400 38 60 00 00 */ li r3, 0
|
||||
lbl_802CE4C4:
|
||||
/* 802CE4C4 002CB404 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE4C8 002CB408 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE4CC 002CB40C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE4D0 002CB410 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE4D4 002CB414 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE4D8 002CB418 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE4DC 002CB41C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE4E0 002CB420 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE4E4 002CB424 81 8C 00 24 */ lwz r12, 0x24(r12)
|
||||
/* 802CE4E8 002CB428 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE4EC 002CB42C 4E 80 04 21 */ bctrl
|
||||
/* 802CE4F0 002CB430 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE4F4 002CB434 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE4F8 002CB438 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE4FC 002CB43C 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,20 @@
|
||||
/* 802CE500 002CB440 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE504 002CB444 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE508 002CB448 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE50C 002CB44C 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802CE510 002CB450 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802CE514 002CB454 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802CE518 002CB458 40 82 00 10 */ bne lbl_802CE528
|
||||
/* 802CE51C 002CB45C 48 00 03 21 */ bl findFromRoot__7JKRHeapFPv
|
||||
/* 802CE520 002CB460 7C 64 1B 79 */ or. r4, r3, r3
|
||||
/* 802CE524 002CB464 41 82 00 10 */ beq lbl_802CE534
|
||||
lbl_802CE528:
|
||||
/* 802CE528 002CB468 7C 83 23 78 */ mr r3, r4
|
||||
/* 802CE52C 002CB46C 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802CE530 002CB470 48 00 00 19 */ bl free__7JKRHeapFPv
|
||||
lbl_802CE534:
|
||||
/* 802CE534 002CB474 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802CE538 002CB478 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE53C 002CB47C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE540 002CB480 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE544 002CB484 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE548 002CB488 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE54C 002CB48C 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE550 002CB490 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE554 002CB494 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE558 002CB498 81 8C 00 28 */ lwz r12, 0x28(r12)
|
||||
/* 802CE55C 002CB49C 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE560 002CB4A0 4E 80 04 21 */ bctrl
|
||||
/* 802CE564 002CB4A4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE568 002CB4A8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE56C 002CB4AC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE570 002CB4B0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,24 @@
|
||||
/* 802CE574 002CB4B4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802CE578 002CB4B8 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE57C 002CB4BC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802CE580 002CB4C0 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802CE584 002CB4C4 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802CE588 002CB4C8 48 00 00 20 */ b lbl_802CE5A8
|
||||
lbl_802CE58C:
|
||||
/* 802CE58C 002CB4CC 80 61 00 08 */ lwz r3, 8(r1)
|
||||
/* 802CE590 002CB4D0 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 802CE594 002CB4D4 38 80 FF FF */ li r4, -1
|
||||
/* 802CE598 002CB4D8 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE59C 002CB4DC 81 8C 00 08 */ lwz r12, 8(r12)
|
||||
/* 802CE5A0 002CB4E0 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE5A4 002CB4E4 4E 80 04 21 */ bctrl
|
||||
lbl_802CE5A8:
|
||||
/* 802CE5A8 002CB4E8 80 1F 00 5C */ lwz r0, 0x5c(r31)
|
||||
/* 802CE5AC 002CB4EC 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 802CE5B0 002CB4F0 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802CE5B4 002CB4F4 40 82 FF D8 */ bne lbl_802CE58C
|
||||
/* 802CE5B8 002CB4F8 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802CE5BC 002CB4FC 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802CE5C0 002CB500 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE5C4 002CB504 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802CE5C8 002CB508 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE5CC 002CB50C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE5D0 002CB510 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE5D4 002CB514 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE5D8 002CB518 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE5DC 002CB51C 81 8C 00 2C */ lwz r12, 0x2c(r12)
|
||||
/* 802CE5E0 002CB520 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE5E4 002CB524 4E 80 04 21 */ bctrl
|
||||
/* 802CE5E8 002CB528 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE5EC 002CB52C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE5F0 002CB530 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE5F4 002CB534 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE5F8 002CB538 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE5FC 002CB53C 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE600 002CB540 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE604 002CB544 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE608 002CB548 81 8C 00 30 */ lwz r12, 0x30(r12)
|
||||
/* 802CE60C 002CB54C 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE610 002CB550 4E 80 04 21 */ bctrl
|
||||
/* 802CE614 002CB554 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE618 002CB558 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE61C 002CB55C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE620 002CB560 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,26 @@
|
||||
/* 802CE624 002CB564 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE628 002CB568 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE62C 002CB56C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE630 002CB570 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802CE634 002CB574 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802CE638 002CB578 7C 7E 1B 78 */ mr r30, r3
|
||||
/* 802CE63C 002CB57C 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802CE640 002CB580 28 05 00 00 */ cmplwi r5, 0
|
||||
/* 802CE644 002CB584 40 82 00 18 */ bne lbl_802CE65C
|
||||
/* 802CE648 002CB588 48 00 01 F5 */ bl findFromRoot__7JKRHeapFPv
|
||||
/* 802CE64C 002CB58C 7C 65 1B 79 */ or. r5, r3, r3
|
||||
/* 802CE650 002CB590 40 82 00 0C */ bne lbl_802CE65C
|
||||
/* 802CE654 002CB594 38 60 FF FF */ li r3, -1
|
||||
/* 802CE658 002CB598 48 00 00 14 */ b lbl_802CE66C
|
||||
lbl_802CE65C:
|
||||
/* 802CE65C 002CB59C 7C A3 2B 78 */ mr r3, r5
|
||||
/* 802CE660 002CB5A0 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802CE664 002CB5A4 7F E5 FB 78 */ mr r5, r31
|
||||
/* 802CE668 002CB5A8 48 00 00 1D */ bl resize__7JKRHeapFPvUl
|
||||
lbl_802CE66C:
|
||||
/* 802CE66C 002CB5AC 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802CE670 002CB5B0 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802CE674 002CB5B4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE678 002CB5B8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE67C 002CB5BC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE680 002CB5C0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE684 002CB5C4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE688 002CB5C8 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE68C 002CB5CC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE690 002CB5D0 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE694 002CB5D4 81 8C 00 38 */ lwz r12, 0x38(r12)
|
||||
/* 802CE698 002CB5D8 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE69C 002CB5DC 4E 80 04 21 */ bctrl
|
||||
/* 802CE6A0 002CB5E0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE6A4 002CB5E4 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE6A8 002CB5E8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE6AC 002CB5EC 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,22 @@
|
||||
/* 802CE6B0 002CB5F0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE6B4 002CB5F4 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE6B8 002CB5F8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE6BC 002CB5FC 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802CE6C0 002CB600 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802CE6C4 002CB604 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802CE6C8 002CB608 40 82 00 18 */ bne lbl_802CE6E0
|
||||
/* 802CE6CC 002CB60C 48 00 01 71 */ bl findFromRoot__7JKRHeapFPv
|
||||
/* 802CE6D0 002CB610 7C 64 1B 79 */ or. r4, r3, r3
|
||||
/* 802CE6D4 002CB614 40 82 00 0C */ bne lbl_802CE6E0
|
||||
/* 802CE6D8 002CB618 38 60 FF FF */ li r3, -1
|
||||
/* 802CE6DC 002CB61C 48 00 00 10 */ b lbl_802CE6EC
|
||||
lbl_802CE6E0:
|
||||
/* 802CE6E0 002CB620 7C 83 23 78 */ mr r3, r4
|
||||
/* 802CE6E4 002CB624 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802CE6E8 002CB628 48 00 00 19 */ bl getSize__7JKRHeapFPv
|
||||
lbl_802CE6EC:
|
||||
/* 802CE6EC 002CB62C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802CE6F0 002CB630 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE6F4 002CB634 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE6F8 002CB638 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE6FC 002CB63C 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE700 002CB640 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE704 002CB644 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE708 002CB648 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE70C 002CB64C 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE710 002CB650 81 8C 00 3C */ lwz r12, 0x3c(r12)
|
||||
/* 802CE714 002CB654 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE718 002CB658 4E 80 04 21 */ bctrl
|
||||
/* 802CE71C 002CB65C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE720 002CB660 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE724 002CB664 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE728 002CB668 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE72C 002CB66C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE730 002CB670 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE734 002CB674 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE738 002CB678 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE73C 002CB67C 81 8C 00 40 */ lwz r12, 0x40(r12)
|
||||
/* 802CE740 002CB680 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE744 002CB684 4E 80 04 21 */ bctrl
|
||||
/* 802CE748 002CB688 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE74C 002CB68C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE750 002CB690 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE754 002CB694 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE758 002CB698 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE75C 002CB69C 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE760 002CB6A0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE764 002CB6A4 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE768 002CB6A8 81 8C 00 44 */ lwz r12, 0x44(r12)
|
||||
/* 802CE76C 002CB6AC 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE770 002CB6B0 4E 80 04 21 */ bctrl
|
||||
/* 802CE774 002CB6B4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE778 002CB6B8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE77C 002CB6BC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE780 002CB6C0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE784 002CB6C4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE788 002CB6C8 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE78C 002CB6CC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE790 002CB6D0 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE794 002CB6D4 81 8C 00 48 */ lwz r12, 0x48(r12)
|
||||
/* 802CE798 002CB6D8 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE79C 002CB6DC 4E 80 04 21 */ bctrl
|
||||
/* 802CE7A0 002CB6E0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE7A4 002CB6E4 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE7A8 002CB6E8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE7AC 002CB6EC 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CE7B0 002CB6F0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE7B4 002CB6F4 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE7B8 002CB6F8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE7BC 002CB6FC 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CE7C0 002CB700 81 8C 00 4C */ lwz r12, 0x4c(r12)
|
||||
/* 802CE7C4 002CB704 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CE7C8 002CB708 4E 80 04 21 */ bctrl
|
||||
/* 802CE7CC 002CB70C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE7D0 002CB710 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE7D4 002CB714 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE7D8 002CB718 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,24 @@
|
||||
/* 802CE7DC 002CB71C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802CE7E0 002CB720 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE7E4 002CB724 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802CE7E8 002CB728 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE7EC 002CB72C 48 09 39 F1 */ bl _savegpr_29
|
||||
/* 802CE7F0 002CB730 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802CE7F4 002CB734 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802CE7F8 002CB738 4B FF FF 61 */ bl getMaxFreeBlock__7JKRHeapFv
|
||||
/* 802CE7FC 002CB73C 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802CE800 002CB740 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802CE804 002CB744 4B FF FF 29 */ bl getFreeSize__7JKRHeapFv
|
||||
/* 802CE808 002CB748 38 9E FF FF */ addi r4, r30, -1
|
||||
/* 802CE80C 002CB74C 57 E0 07 3E */ clrlwi r0, r31, 0x1c
|
||||
/* 802CE810 002CB750 7C 00 F0 50 */ subf r0, r0, r30
|
||||
/* 802CE814 002CB754 7C 80 00 38 */ and r0, r4, r0
|
||||
/* 802CE818 002CB758 7C 60 18 50 */ subf r3, r0, r3
|
||||
/* 802CE81C 002CB75C 7C 80 20 F8 */ nor r0, r4, r4
|
||||
/* 802CE820 002CB760 7C 03 18 38 */ and r3, r0, r3
|
||||
/* 802CE824 002CB764 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE828 002CB768 48 09 3A 01 */ bl _restgpr_29
|
||||
/* 802CE82C 002CB76C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802CE830 002CB770 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE834 002CB774 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802CE838 002CB778 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,25 @@
|
||||
/* 802CE83C 002CB77C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CE840 002CB780 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE844 002CB784 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CE848 002CB788 7C 64 1B 78 */ mr r4, r3
|
||||
/* 802CE84C 002CB78C 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13)
|
||||
/* 802CE850 002CB790 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CE854 002CB794 40 82 00 0C */ bne lbl_802CE860
|
||||
/* 802CE858 002CB798 38 60 00 00 */ li r3, 0
|
||||
/* 802CE85C 002CB79C 48 00 00 28 */ b lbl_802CE884
|
||||
lbl_802CE860:
|
||||
/* 802CE860 002CB7A0 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 802CE864 002CB7A4 7C 00 20 40 */ cmplw r0, r4
|
||||
/* 802CE868 002CB7A8 41 81 00 18 */ bgt lbl_802CE880
|
||||
/* 802CE86C 002CB7AC 80 03 00 34 */ lwz r0, 0x34(r3)
|
||||
/* 802CE870 002CB7B0 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 802CE874 002CB7B4 40 80 00 0C */ bge lbl_802CE880
|
||||
/* 802CE878 002CB7B8 48 00 00 1D */ bl find__7JKRHeapCFPv
|
||||
/* 802CE87C 002CB7BC 48 00 00 08 */ b lbl_802CE884
|
||||
lbl_802CE880:
|
||||
/* 802CE880 002CB7C0 48 00 00 BD */ bl findAllHeap__7JKRHeapCFPv
|
||||
lbl_802CE884:
|
||||
/* 802CE884 002CB7C4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CE888 002CB7C8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE88C 002CB7CC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CE890 002CB7D0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,48 @@
|
||||
/* 802CE894 002CB7D4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802CE898 002CB7D8 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE89C 002CB7DC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802CE8A0 002CB7E0 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE8A4 002CB7E4 48 09 39 39 */ bl _savegpr_29
|
||||
/* 802CE8A8 002CB7E8 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802CE8AC 002CB7EC 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802CE8B0 002CB7F0 80 03 00 30 */ lwz r0, 0x30(r3)
|
||||
/* 802CE8B4 002CB7F4 7C 00 F0 40 */ cmplw r0, r30
|
||||
/* 802CE8B8 002CB7F8 41 81 00 68 */ bgt lbl_802CE920
|
||||
/* 802CE8BC 002CB7FC 80 1D 00 34 */ lwz r0, 0x34(r29)
|
||||
/* 802CE8C0 002CB800 7C 1E 00 40 */ cmplw r30, r0
|
||||
/* 802CE8C4 002CB804 40 80 00 5C */ bge lbl_802CE920
|
||||
/* 802CE8C8 002CB808 80 1D 00 48 */ lwz r0, 0x48(r29)
|
||||
/* 802CE8CC 002CB80C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802CE8D0 002CB810 41 82 00 48 */ beq lbl_802CE918
|
||||
/* 802CE8D4 002CB814 83 FD 00 40 */ lwz r31, 0x40(r29)
|
||||
/* 802CE8D8 002CB818 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802CE8DC 002CB81C 41 82 00 34 */ beq lbl_802CE910
|
||||
/* 802CE8E0 002CB820 3B FF FF F4 */ addi r31, r31, -12
|
||||
/* 802CE8E4 002CB824 48 00 00 2C */ b lbl_802CE910
|
||||
lbl_802CE8E8:
|
||||
/* 802CE8E8 002CB828 80 7F 00 0C */ lwz r3, 0xc(r31)
|
||||
/* 802CE8EC 002CB82C 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802CE8F0 002CB830 4B FF FF A5 */ bl find__7JKRHeapCFPv
|
||||
/* 802CE8F4 002CB834 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CE8F8 002CB838 41 82 00 08 */ beq lbl_802CE900
|
||||
/* 802CE8FC 002CB83C 48 00 00 28 */ b lbl_802CE924
|
||||
lbl_802CE900:
|
||||
/* 802CE900 002CB840 83 FF 00 18 */ lwz r31, 0x18(r31)
|
||||
/* 802CE904 002CB844 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802CE908 002CB848 41 82 00 08 */ beq lbl_802CE910
|
||||
/* 802CE90C 002CB84C 3B FF FF F4 */ addi r31, r31, -12
|
||||
lbl_802CE910:
|
||||
/* 802CE910 002CB850 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802CE914 002CB854 40 82 FF D4 */ bne lbl_802CE8E8
|
||||
lbl_802CE918:
|
||||
/* 802CE918 002CB858 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802CE91C 002CB85C 48 00 00 08 */ b lbl_802CE924
|
||||
lbl_802CE920:
|
||||
/* 802CE920 002CB860 38 60 00 00 */ li r3, 0
|
||||
lbl_802CE924:
|
||||
/* 802CE924 002CB864 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE928 002CB868 48 09 39 01 */ bl _restgpr_29
|
||||
/* 802CE92C 002CB86C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802CE930 002CB870 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE934 002CB874 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802CE938 002CB878 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,48 @@
|
||||
/* 802CE93C 002CB87C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802CE940 002CB880 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE944 002CB884 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802CE948 002CB888 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE94C 002CB88C 48 09 38 91 */ bl _savegpr_29
|
||||
/* 802CE950 002CB890 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802CE954 002CB894 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802CE958 002CB898 80 03 00 48 */ lwz r0, 0x48(r3)
|
||||
/* 802CE95C 002CB89C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802CE960 002CB8A0 41 82 00 48 */ beq lbl_802CE9A8
|
||||
/* 802CE964 002CB8A4 83 FD 00 40 */ lwz r31, 0x40(r29)
|
||||
/* 802CE968 002CB8A8 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802CE96C 002CB8AC 41 82 00 34 */ beq lbl_802CE9A0
|
||||
/* 802CE970 002CB8B0 3B FF FF F4 */ addi r31, r31, -12
|
||||
/* 802CE974 002CB8B4 48 00 00 2C */ b lbl_802CE9A0
|
||||
lbl_802CE978:
|
||||
/* 802CE978 002CB8B8 80 7F 00 0C */ lwz r3, 0xc(r31)
|
||||
/* 802CE97C 002CB8BC 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802CE980 002CB8C0 4B FF FF BD */ bl findAllHeap__7JKRHeapCFPv
|
||||
/* 802CE984 002CB8C4 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CE988 002CB8C8 41 82 00 08 */ beq lbl_802CE990
|
||||
/* 802CE98C 002CB8CC 48 00 00 40 */ b lbl_802CE9CC
|
||||
lbl_802CE990:
|
||||
/* 802CE990 002CB8D0 83 FF 00 18 */ lwz r31, 0x18(r31)
|
||||
/* 802CE994 002CB8D4 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802CE998 002CB8D8 41 82 00 08 */ beq lbl_802CE9A0
|
||||
/* 802CE99C 002CB8DC 3B FF FF F4 */ addi r31, r31, -12
|
||||
lbl_802CE9A0:
|
||||
/* 802CE9A0 002CB8E0 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802CE9A4 002CB8E4 40 82 FF D4 */ bne lbl_802CE978
|
||||
lbl_802CE9A8:
|
||||
/* 802CE9A8 002CB8E8 80 1D 00 30 */ lwz r0, 0x30(r29)
|
||||
/* 802CE9AC 002CB8EC 7C 00 F0 40 */ cmplw r0, r30
|
||||
/* 802CE9B0 002CB8F0 41 81 00 18 */ bgt lbl_802CE9C8
|
||||
/* 802CE9B4 002CB8F4 80 1D 00 34 */ lwz r0, 0x34(r29)
|
||||
/* 802CE9B8 002CB8F8 7C 1E 00 40 */ cmplw r30, r0
|
||||
/* 802CE9BC 002CB8FC 40 80 00 0C */ bge lbl_802CE9C8
|
||||
/* 802CE9C0 002CB900 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802CE9C4 002CB904 48 00 00 08 */ b lbl_802CE9CC
|
||||
lbl_802CE9C8:
|
||||
/* 802CE9C8 002CB908 38 60 00 00 */ li r3, 0
|
||||
lbl_802CE9CC:
|
||||
/* 802CE9CC 002CB90C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE9D0 002CB910 48 09 38 59 */ bl _restgpr_29
|
||||
/* 802CE9D4 002CB914 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802CE9D8 002CB918 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CE9DC 002CB91C 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802CE9E0 002CB920 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,41 @@
|
||||
/* 802CE9E4 002CB924 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802CE9E8 002CB928 7C 08 02 A6 */ mflr r0
|
||||
/* 802CE9EC 002CB92C 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802CE9F0 002CB930 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CE9F4 002CB934 48 09 37 E5 */ bl _savegpr_28
|
||||
/* 802CE9F8 002CB938 7C 7C 1B 78 */ mr r28, r3
|
||||
/* 802CE9FC 002CB93C 7C 9D 23 78 */ mr r29, r4
|
||||
/* 802CEA00 002CB940 7C BE 2B 78 */ mr r30, r5
|
||||
/* 802CEA04 002CB944 3B E0 00 00 */ li r31, 0
|
||||
/* 802CEA08 002CB948 80 83 00 5C */ lwz r4, 0x5c(r3)
|
||||
/* 802CEA0C 002CB94C 48 00 00 4C */ b lbl_802CEA58
|
||||
lbl_802CEA10:
|
||||
/* 802CEA10 002CB950 80 64 00 00 */ lwz r3, 0(r4)
|
||||
/* 802CEA14 002CB954 7C 1D 18 40 */ cmplw r29, r3
|
||||
/* 802CEA18 002CB958 41 81 00 38 */ bgt lbl_802CEA50
|
||||
/* 802CEA1C 002CB95C 7C 03 F0 40 */ cmplw r3, r30
|
||||
/* 802CEA20 002CB960 40 80 00 30 */ bge lbl_802CEA50
|
||||
/* 802CEA24 002CB964 38 80 FF FF */ li r4, -1
|
||||
/* 802CEA28 002CB968 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CEA2C 002CB96C 81 8C 00 08 */ lwz r12, 8(r12)
|
||||
/* 802CEA30 002CB970 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CEA34 002CB974 4E 80 04 21 */ bctrl
|
||||
/* 802CEA38 002CB978 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802CEA3C 002CB97C 40 82 00 0C */ bne lbl_802CEA48
|
||||
/* 802CEA40 002CB980 80 9C 00 5C */ lwz r4, 0x5c(r28)
|
||||
/* 802CEA44 002CB984 48 00 00 14 */ b lbl_802CEA58
|
||||
lbl_802CEA48:
|
||||
/* 802CEA48 002CB988 80 9F 00 0C */ lwz r4, 0xc(r31)
|
||||
/* 802CEA4C 002CB98C 48 00 00 0C */ b lbl_802CEA58
|
||||
lbl_802CEA50:
|
||||
/* 802CEA50 002CB990 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802CEA54 002CB994 80 84 00 0C */ lwz r4, 0xc(r4)
|
||||
lbl_802CEA58:
|
||||
/* 802CEA58 002CB998 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802CEA5C 002CB99C 40 82 FF B4 */ bne lbl_802CEA10
|
||||
/* 802CEA60 002CB9A0 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802CEA64 002CB9A4 48 09 37 C1 */ bl _restgpr_28
|
||||
/* 802CEA68 002CB9A8 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802CEA6C 002CB9AC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CEA70 002CB9B0 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802CEA74 002CB9B4 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,10 @@
|
||||
/* 802CEA78 002CB9B8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CEA7C 002CB9BC 7C 08 02 A6 */ mflr r0
|
||||
/* 802CEA80 002CB9C0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CEA84 002CB9C4 7C A4 2A 14 */ add r5, r4, r5
|
||||
/* 802CEA88 002CB9C8 4B FF FF 5D */ bl dispose_subroutine__7JKRHeapFUlUl
|
||||
/* 802CEA8C 002CB9CC 38 60 00 00 */ li r3, 0
|
||||
/* 802CEA90 002CB9D0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CEA94 002CB9D4 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CEA98 002CB9D8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CEA9C 002CB9DC 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,8 @@
|
||||
/* 802CEAA0 002CB9E0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CEAA4 002CB9E4 7C 08 02 A6 */ mflr r0
|
||||
/* 802CEAA8 002CB9E8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CEAAC 002CB9EC 4B FF FF 39 */ bl dispose_subroutine__7JKRHeapFUlUl
|
||||
/* 802CEAB0 002CB9F0 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CEAB4 002CB9F4 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CEAB8 002CB9F8 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CEABC 002CB9FC 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,24 @@
|
||||
/* 802CEAC0 002CBA00 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802CEAC4 002CBA04 7C 08 02 A6 */ mflr r0
|
||||
/* 802CEAC8 002CBA08 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802CEACC 002CBA0C 93 E1 00 1C */ stw r31, 0x1c(r1)
|
||||
/* 802CEAD0 002CBA10 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802CEAD4 002CBA14 48 00 00 20 */ b lbl_802CEAF4
|
||||
lbl_802CEAD8:
|
||||
/* 802CEAD8 002CBA18 80 61 00 08 */ lwz r3, 8(r1)
|
||||
/* 802CEADC 002CBA1C 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 802CEAE0 002CBA20 38 80 FF FF */ li r4, -1
|
||||
/* 802CEAE4 002CBA24 81 83 00 00 */ lwz r12, 0(r3)
|
||||
/* 802CEAE8 002CBA28 81 8C 00 08 */ lwz r12, 8(r12)
|
||||
/* 802CEAEC 002CBA2C 7D 89 03 A6 */ mtctr r12
|
||||
/* 802CEAF0 002CBA30 4E 80 04 21 */ bctrl
|
||||
lbl_802CEAF4:
|
||||
/* 802CEAF4 002CBA34 80 1F 00 5C */ lwz r0, 0x5c(r31)
|
||||
/* 802CEAF8 002CBA38 90 01 00 08 */ stw r0, 8(r1)
|
||||
/* 802CEAFC 002CBA3C 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802CEB00 002CBA40 40 82 FF D8 */ bne lbl_802CEAD8
|
||||
/* 802CEB04 002CBA44 83 E1 00 1C */ lwz r31, 0x1c(r1)
|
||||
/* 802CEB08 002CBA48 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802CEB0C 002CBA4C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CEB10 002CBA50 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802CEB14 002CBA54 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CEB18 002CBA58 38 05 00 03 */ addi r0, r5, 3
|
||||
/* 802CEB1C 002CBA5C 54 00 F0 BF */ rlwinm. r0, r0, 0x1e, 2, 0x1f
|
||||
/* 802CEB20 002CBA60 7C 09 03 A6 */ mtctr r0
|
||||
/* 802CEB24 002CBA64 4D 82 00 20 */ beqlr
|
||||
lbl_802CEB28:
|
||||
/* 802CEB28 002CBA68 80 04 00 00 */ lwz r0, 0(r4)
|
||||
/* 802CEB2C 002CBA6C 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 802CEB30 002CBA70 38 63 00 04 */ addi r3, r3, 4
|
||||
/* 802CEB34 002CBA74 38 84 00 04 */ addi r4, r4, 4
|
||||
/* 802CEB38 002CBA78 42 00 FF F0 */ bdnz lbl_802CEB28
|
||||
/* 802CEB3C 002CBA7C 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,14 @@
|
||||
/* 802CEB40 002CBA80 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CEB44 002CBA84 7C 08 02 A6 */ mflr r0
|
||||
/* 802CEB48 002CBA88 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CEB4C 002CBA8C 3C 60 80 3A */ lis r3, lbl_8039CAD8@ha
|
||||
/* 802CEB50 002CBA90 38 63 CA D8 */ addi r3, r3, lbl_8039CAD8@l
|
||||
/* 802CEB54 002CBA94 38 80 03 3F */ li r4, 0x33f
|
||||
/* 802CEB58 002CBA98 38 A3 00 0C */ addi r5, r3, 0xc
|
||||
/* 802CEB5C 002CBA9C 38 C3 00 0F */ addi r6, r3, 0xf
|
||||
/* 802CEB60 002CBAA0 4C C6 31 82 */ crclr 6
|
||||
/* 802CEB64 002CBAA4 48 01 36 99 */ bl JUTException_NS_panic_f
|
||||
/* 802CEB68 002CBAA8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CEB6C 002CBAAC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CEB70 002CBAB0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CEB74 002CBAB4 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,4 @@
|
||||
/* 802CEB78 002CBAB8 88 03 00 68 */ lbz r0, 0x68(r3)
|
||||
/* 802CEB7C 002CBABC 98 83 00 68 */ stb r4, 0x68(r3)
|
||||
/* 802CEB80 002CBAC0 7C 03 03 78 */ mr r3, r0
|
||||
/* 802CEB84 002CBAC4 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,9 @@
|
||||
/* 802CEB88 002CBAC8 80 0D 8D FC */ lwz r0, lbl_8045137C-_SDA_BASE_(r13)
|
||||
/* 802CEB8C 002CBACC 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802CEB90 002CBAD0 40 82 00 0C */ bne lbl_802CEB9C
|
||||
/* 802CEB94 002CBAD4 3C 60 80 2D */ lis r3, JKRDefaultMemoryErrorRoutine@ha
|
||||
/* 802CEB98 002CBAD8 38 63 EB 40 */ addi r3, r3, JKRDefaultMemoryErrorRoutine@l
|
||||
lbl_802CEB9C:
|
||||
/* 802CEB9C 002CBADC 90 6D 8D FC */ stw r3, lbl_8045137C-_SDA_BASE_(r13)
|
||||
/* 802CEBA0 002CBAE0 7C 03 03 78 */ mr r3, r0
|
||||
/* 802CEBA4 002CBAE4 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,48 @@
|
||||
/* 802CEBA8 002CBAE8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CEBAC 002CBAEC 7C 08 02 A6 */ mflr r0
|
||||
/* 802CEBB0 002CBAF0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CEBB4 002CBAF4 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802CEBB8 002CBAF8 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802CEBBC 002CBAFC 7C 9E 23 79 */ or. r30, r4, r4
|
||||
/* 802CEBC0 002CBB00 40 82 00 0C */ bne lbl_802CEBCC
|
||||
/* 802CEBC4 002CBB04 38 60 00 00 */ li r3, 0
|
||||
/* 802CEBC8 002CBB08 48 00 00 6C */ b lbl_802CEC34
|
||||
lbl_802CEBCC:
|
||||
/* 802CEBCC 002CBB0C 80 03 00 48 */ lwz r0, 0x48(r3)
|
||||
/* 802CEBD0 002CBB10 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802CEBD4 002CBB14 41 82 00 5C */ beq lbl_802CEC30
|
||||
/* 802CEBD8 002CBB18 83 E3 00 40 */ lwz r31, 0x40(r3)
|
||||
/* 802CEBDC 002CBB1C 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802CEBE0 002CBB20 41 82 00 48 */ beq lbl_802CEC28
|
||||
/* 802CEBE4 002CBB24 3B FF FF F4 */ addi r31, r31, -12
|
||||
/* 802CEBE8 002CBB28 48 00 00 40 */ b lbl_802CEC28
|
||||
lbl_802CEBEC:
|
||||
/* 802CEBEC 002CBB2C 80 7F 00 0C */ lwz r3, 0xc(r31)
|
||||
/* 802CEBF0 002CBB30 7C 03 F0 40 */ cmplw r3, r30
|
||||
/* 802CEBF4 002CBB34 40 82 00 0C */ bne lbl_802CEC00
|
||||
/* 802CEBF8 002CBB38 38 60 00 01 */ li r3, 1
|
||||
/* 802CEBFC 002CBB3C 48 00 00 38 */ b lbl_802CEC34
|
||||
lbl_802CEC00:
|
||||
/* 802CEC00 002CBB40 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802CEC04 002CBB44 4B FF FF A5 */ bl isSubHeap__7JKRHeapCFP7JKRHeap
|
||||
/* 802CEC08 002CBB48 54 60 06 3F */ clrlwi. r0, r3, 0x18
|
||||
/* 802CEC0C 002CBB4C 41 82 00 0C */ beq lbl_802CEC18
|
||||
/* 802CEC10 002CBB50 38 60 00 01 */ li r3, 1
|
||||
/* 802CEC14 002CBB54 48 00 00 20 */ b lbl_802CEC34
|
||||
lbl_802CEC18:
|
||||
/* 802CEC18 002CBB58 83 FF 00 18 */ lwz r31, 0x18(r31)
|
||||
/* 802CEC1C 002CBB5C 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802CEC20 002CBB60 41 82 00 08 */ beq lbl_802CEC28
|
||||
/* 802CEC24 002CBB64 3B FF FF F4 */ addi r31, r31, -12
|
||||
lbl_802CEC28:
|
||||
/* 802CEC28 002CBB68 28 1F 00 00 */ cmplwi r31, 0
|
||||
/* 802CEC2C 002CBB6C 40 82 FF C0 */ bne lbl_802CEBEC
|
||||
lbl_802CEC30:
|
||||
/* 802CEC30 002CBB70 38 60 00 00 */ li r3, 0
|
||||
lbl_802CEC34:
|
||||
/* 802CEC34 002CBB74 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802CEC38 002CBB78 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802CEC3C 002CBB7C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CEC40 002CBB80 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CEC44 002CBB84 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CEC48 002CBB88 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,10 @@
|
||||
/* 802CEC4C 002CBB8C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CEC50 002CBB90 7C 08 02 A6 */ mflr r0
|
||||
/* 802CEC54 002CBB94 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CEC58 002CBB98 38 80 00 04 */ li r4, 4
|
||||
/* 802CEC5C 002CBB9C 38 A0 00 00 */ li r5, 0
|
||||
/* 802CEC60 002CBBA0 4B FF F8 15 */ bl alloc__7JKRHeapFUliP7JKRHeap
|
||||
/* 802CEC64 002CBBA4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CEC68 002CBBA8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CEC6C 002CBBAC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CEC70 002CBBB0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,9 @@
|
||||
/* 802CEC74 002CBBB4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CEC78 002CBBB8 7C 08 02 A6 */ mflr r0
|
||||
/* 802CEC7C 002CBBBC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CEC80 002CBBC0 38 A0 00 00 */ li r5, 0
|
||||
/* 802CEC84 002CBBC4 4B FF F7 F1 */ bl alloc__7JKRHeapFUliP7JKRHeap
|
||||
/* 802CEC88 002CBBC8 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CEC8C 002CBBCC 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CEC90 002CBBD0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CEC94 002CBBD4 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CEC98 002CBBD8 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CEC9C 002CBBDC 7C 08 02 A6 */ mflr r0
|
||||
/* 802CECA0 002CBBE0 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CECA4 002CBBE4 7C 80 23 78 */ mr r0, r4
|
||||
/* 802CECA8 002CBBE8 7C A4 2B 78 */ mr r4, r5
|
||||
/* 802CECAC 002CBBEC 7C 05 03 78 */ mr r5, r0
|
||||
/* 802CECB0 002CBBF0 4B FF F7 C5 */ bl alloc__7JKRHeapFUliP7JKRHeap
|
||||
/* 802CECB4 002CBBF4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CECB8 002CBBF8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CECBC 002CBBFC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CECC0 002CBC00 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,10 @@
|
||||
/* 802CECC4 002CBC04 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CECC8 002CBC08 7C 08 02 A6 */ mflr r0
|
||||
/* 802CECCC 002CBC0C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CECD0 002CBC10 38 80 00 04 */ li r4, 4
|
||||
/* 802CECD4 002CBC14 38 A0 00 00 */ li r5, 0
|
||||
/* 802CECD8 002CBC18 4B FF F7 9D */ bl alloc__7JKRHeapFUliP7JKRHeap
|
||||
/* 802CECDC 002CBC1C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CECE0 002CBC20 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CECE4 002CBC24 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CECE8 002CBC28 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,9 @@
|
||||
/* 802CECEC 002CBC2C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CECF0 002CBC30 7C 08 02 A6 */ mflr r0
|
||||
/* 802CECF4 002CBC34 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CECF8 002CBC38 38 A0 00 00 */ li r5, 0
|
||||
/* 802CECFC 002CBC3C 4B FF F7 79 */ bl alloc__7JKRHeapFUliP7JKRHeap
|
||||
/* 802CED00 002CBC40 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CED04 002CBC44 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CED08 002CBC48 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CED0C 002CBC4C 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,11 @@
|
||||
/* 802CED10 002CBC50 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CED14 002CBC54 7C 08 02 A6 */ mflr r0
|
||||
/* 802CED18 002CBC58 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CED1C 002CBC5C 7C 80 23 78 */ mr r0, r4
|
||||
/* 802CED20 002CBC60 7C A4 2B 78 */ mr r4, r5
|
||||
/* 802CED24 002CBC64 7C 05 03 78 */ mr r5, r0
|
||||
/* 802CED28 002CBC68 4B FF F7 4D */ bl alloc__7JKRHeapFUliP7JKRHeap
|
||||
/* 802CED2C 002CBC6C 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CED30 002CBC70 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CED34 002CBC74 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CED38 002CBC78 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,9 @@
|
||||
/* 802CED3C 002CBC7C 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CED40 002CBC80 7C 08 02 A6 */ mflr r0
|
||||
/* 802CED44 002CBC84 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CED48 002CBC88 38 80 00 00 */ li r4, 0
|
||||
/* 802CED4C 002CBC8C 4B FF F7 B5 */ bl free__7JKRHeapFPvP7JKRHeap
|
||||
/* 802CED50 002CBC90 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CED54 002CBC94 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CED58 002CBC98 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CED5C 002CBC9C 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,21 @@
|
||||
/* 802CED60 002CBCA0 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802CED64 002CBCA4 7C 08 02 A6 */ mflr r0
|
||||
/* 802CED68 002CBCA8 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802CED6C 002CBCAC 38 80 00 00 */ li r4, 0
|
||||
/* 802CED70 002CBCB0 4B FF F7 91 */ bl free__7JKRHeapFPvP7JKRHeap
|
||||
/* 802CED74 002CBCB4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802CED78 002CBCB8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802CED7C 002CBCBC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802CED80 002CBCC0 4E 80 00 20 */ blr
|
||||
/* 802CED84 002CBCC4 4E 80 00 20 */ blr
|
||||
/* 802CED88 002CBCC8 80 64 00 04 */ lwz r3, 4(r4)
|
||||
/* 802CED8C 002CBCCC 80 05 00 04 */ lwz r0, 4(r5)
|
||||
/* 802CED90 002CBCD0 7C 03 00 50 */ subf r0, r3, r0
|
||||
/* 802CED94 002CBCD4 7C 00 00 34 */ cntlzw r0, r0
|
||||
/* 802CED98 002CBCD8 54 03 D9 7E */ srwi r3, r0, 5
|
||||
/* 802CED9C 002CBCDC 4E 80 00 20 */ blr
|
||||
/* 802CEDA0 002CBCE0 4E 80 00 20 */ blr
|
||||
/* 802CEDA4 002CBCE4 38 60 00 00 */ li r3, 0
|
||||
/* 802CEDA8 002CBCE8 4E 80 00 20 */ blr
|
||||
/* 802CEDAC 002CBCEC 38 60 00 00 */ li r3, 0
|
||||
/* 802CEDB0 002CBCF0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,27 @@
|
||||
/* 802D147C 002CE3BC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802D1480 002CE3C0 7C 08 02 A6 */ mflr r0
|
||||
/* 802D1484 002CE3C4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802D1488 002CE3C8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802D148C 002CE3CC 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802D1490 002CE3D0 3C 60 80 3D */ lis r3, lbl_803CC0F0@ha
|
||||
/* 802D1494 002CE3D4 38 03 C0 F0 */ addi r0, r3, lbl_803CC0F0@l
|
||||
/* 802D1498 002CE3D8 90 1F 00 00 */ stw r0, 0(r31)
|
||||
/* 802D149C 002CE3DC 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802D14A0 002CE3E0 38 64 00 08 */ addi r3, r4, 8
|
||||
/* 802D14A4 002CE3E4 48 00 A9 59 */ bl __ct__10JSUPtrLinkFPv
|
||||
/* 802D14A8 002CE3E8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D14AC 002CE3EC 4B FF D3 91 */ bl findFromRoot__7JKRHeapFPv
|
||||
/* 802D14B0 002CE3F0 90 7F 00 04 */ stw r3, 4(r31)
|
||||
/* 802D14B4 002CE3F4 80 7F 00 04 */ lwz r3, 4(r31)
|
||||
/* 802D14B8 002CE3F8 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802D14BC 002CE3FC 41 82 00 10 */ beq lbl_802D14CC
|
||||
/* 802D14C0 002CE400 38 63 00 5C */ addi r3, r3, 0x5c
|
||||
/* 802D14C4 002CE404 38 9F 00 08 */ addi r4, r31, 8
|
||||
/* 802D14C8 002CE408 48 00 AA 85 */ bl append__10JSUPtrListFP10JSUPtrLink
|
||||
lbl_802D14CC:
|
||||
/* 802D14CC 002CE40C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802D14D0 002CE410 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802D14D4 002CE414 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802D14D8 002CE418 7C 08 03 A6 */ mtlr r0
|
||||
/* 802D14DC 002CE41C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802D14E0 002CE420 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,36 @@
|
||||
/* 802D14E4 002CE424 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802D14E8 002CE428 7C 08 02 A6 */ mflr r0
|
||||
/* 802D14EC 002CE42C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802D14F0 002CE430 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802D14F4 002CE434 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802D14F8 002CE438 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802D14FC 002CE43C 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802D1500 002CE440 41 82 00 4C */ beq lbl_802D154C
|
||||
/* 802D1504 002CE444 3C 60 80 3D */ lis r3, lbl_803CC0F0@ha
|
||||
/* 802D1508 002CE448 38 03 C0 F0 */ addi r0, r3, lbl_803CC0F0@l
|
||||
/* 802D150C 002CE44C 90 1E 00 00 */ stw r0, 0(r30)
|
||||
/* 802D1510 002CE450 80 7E 00 04 */ lwz r3, 4(r30)
|
||||
/* 802D1514 002CE454 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802D1518 002CE458 41 82 00 10 */ beq lbl_802D1528
|
||||
/* 802D151C 002CE45C 38 63 00 5C */ addi r3, r3, 0x5c
|
||||
/* 802D1520 002CE460 38 9E 00 08 */ addi r4, r30, 8
|
||||
/* 802D1524 002CE464 48 00 AC 39 */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
lbl_802D1528:
|
||||
/* 802D1528 002CE468 34 1E 00 08 */ addic. r0, r30, 8
|
||||
/* 802D152C 002CE46C 41 82 00 10 */ beq lbl_802D153C
|
||||
/* 802D1530 002CE470 38 7E 00 08 */ addi r3, r30, 8
|
||||
/* 802D1534 002CE474 38 80 00 00 */ li r4, 0
|
||||
/* 802D1538 002CE478 48 00 A8 DD */ bl __dt__10JSUPtrLinkFv
|
||||
lbl_802D153C:
|
||||
/* 802D153C 002CE47C 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802D1540 002CE480 40 81 00 0C */ ble lbl_802D154C
|
||||
/* 802D1544 002CE484 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D1548 002CE488 4B FF D7 F5 */ bl __dl__FPv
|
||||
lbl_802D154C:
|
||||
/* 802D154C 002CE48C 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802D1550 002CE490 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802D1554 002CE494 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802D1558 002CE498 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802D155C 002CE49C 7C 08 03 A6 */ mtlr r0
|
||||
/* 802D1560 002CE4A0 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802D1564 002CE4A4 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,47 @@
|
||||
#ifndef __JSULIST_H__
|
||||
#define __JSULIST_H__
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class JSUPtrList;
|
||||
class JSUPtrLink {
|
||||
public:
|
||||
JSUPtrLink(void*);
|
||||
~JSUPtrLink();
|
||||
|
||||
public:
|
||||
void* unk0;
|
||||
JSUPtrList* list;
|
||||
JSUPtrLink* prev;
|
||||
JSUPtrLink* next;
|
||||
};
|
||||
|
||||
class JSUPtrList {
|
||||
public:
|
||||
JSUPtrList(bool should_initiate);
|
||||
~JSUPtrList();
|
||||
|
||||
void initiate();
|
||||
void setFirst(JSUPtrLink* first);
|
||||
bool append(JSUPtrLink* ptr);
|
||||
bool prepend(JSUPtrLink* ptr);
|
||||
bool insert(JSUPtrLink* before, JSUPtrLink* ptr);
|
||||
bool remove(JSUPtrLink* ptr);
|
||||
JSUPtrLink* getNthLink(u32 i) const;
|
||||
|
||||
public:
|
||||
JSUPtrLink* head;
|
||||
JSUPtrLink* tail;
|
||||
u32 length;
|
||||
};
|
||||
|
||||
|
||||
template <typename T>
|
||||
class JSUList : JSUPtrList {
|
||||
public:
|
||||
JSUList() : JSUPtrList(true) {}
|
||||
~JSUList() {};
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,6 @@
|
||||
/* 802DBDFC 002D8D3C 38 00 00 00 */ li r0, 0
|
||||
/* 802DBE00 002D8D40 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 802DBE04 002D8D44 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802DBE08 002D8D48 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 802DBE0C 002D8D4C 90 03 00 0C */ stw r0, 0xc(r3)
|
||||
/* 802DBE10 002D8D50 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,26 @@
|
||||
/* 802DBE14 002D8D54 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802DBE18 002D8D58 7C 08 02 A6 */ mflr r0
|
||||
/* 802DBE1C 002D8D5C 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802DBE20 002D8D60 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802DBE24 002D8D64 93 C1 00 08 */ stw r30, 8(r1)
|
||||
/* 802DBE28 002D8D68 7C 7E 1B 79 */ or. r30, r3, r3
|
||||
/* 802DBE2C 002D8D6C 7C 9F 23 78 */ mr r31, r4
|
||||
/* 802DBE30 002D8D70 41 82 00 28 */ beq lbl_802DBE58
|
||||
/* 802DBE34 002D8D74 80 7E 00 04 */ lwz r3, 4(r30)
|
||||
/* 802DBE38 002D8D78 28 03 00 00 */ cmplwi r3, 0
|
||||
/* 802DBE3C 002D8D7C 41 82 00 0C */ beq lbl_802DBE48
|
||||
/* 802DBE40 002D8D80 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802DBE44 002D8D84 48 00 03 19 */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
lbl_802DBE48:
|
||||
/* 802DBE48 002D8D88 7F E0 07 35 */ extsh. r0, r31
|
||||
/* 802DBE4C 002D8D8C 40 81 00 0C */ ble lbl_802DBE58
|
||||
/* 802DBE50 002D8D90 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802DBE54 002D8D94 4B FF 2E E9 */ bl __dl__FPv
|
||||
lbl_802DBE58:
|
||||
/* 802DBE58 002D8D98 7F C3 F3 78 */ mr r3, r30
|
||||
/* 802DBE5C 002D8D9C 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802DBE60 002D8DA0 83 C1 00 08 */ lwz r30, 8(r1)
|
||||
/* 802DBE64 002D8DA4 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802DBE68 002D8DA8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DBE6C 002D8DAC 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802DBE70 002D8DB0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,15 @@
|
||||
/* 802DBE74 002D8DB4 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802DBE78 002D8DB8 7C 08 02 A6 */ mflr r0
|
||||
/* 802DBE7C 002D8DBC 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802DBE80 002D8DC0 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802DBE84 002D8DC4 7C 7F 1B 78 */ mr r31, r3
|
||||
/* 802DBE88 002D8DC8 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||
/* 802DBE8C 002D8DCC 41 82 00 08 */ beq lbl_802DBE94
|
||||
/* 802DBE90 002D8DD0 48 00 00 85 */ bl initiate__10JSUPtrListFv
|
||||
lbl_802DBE94:
|
||||
/* 802DBE94 002D8DD4 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DBE98 002D8DD8 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802DBE9C 002D8DDC 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802DBEA0 002D8DE0 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DBEA4 002D8DE4 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802DBEA8 002D8DE8 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,29 @@
|
||||
/* 802DBEAC 002D8DEC 94 21 FF F0 */ stwu r1, -0x10(r1)
|
||||
/* 802DBEB0 002D8DF0 7C 08 02 A6 */ mflr r0
|
||||
/* 802DBEB4 002D8DF4 90 01 00 14 */ stw r0, 0x14(r1)
|
||||
/* 802DBEB8 002D8DF8 93 E1 00 0C */ stw r31, 0xc(r1)
|
||||
/* 802DBEBC 002D8DFC 7C 7F 1B 79 */ or. r31, r3, r3
|
||||
/* 802DBEC0 002D8E00 41 82 00 3C */ beq lbl_802DBEFC
|
||||
/* 802DBEC4 002D8E04 80 BF 00 00 */ lwz r5, 0(r31)
|
||||
/* 802DBEC8 002D8E08 38 C0 00 00 */ li r6, 0
|
||||
/* 802DBECC 002D8E0C 38 60 00 00 */ li r3, 0
|
||||
/* 802DBED0 002D8E10 48 00 00 10 */ b lbl_802DBEE0
|
||||
lbl_802DBED4:
|
||||
/* 802DBED4 002D8E14 90 65 00 04 */ stw r3, 4(r5)
|
||||
/* 802DBED8 002D8E18 80 A5 00 0C */ lwz r5, 0xc(r5)
|
||||
/* 802DBEDC 002D8E1C 38 C6 00 01 */ addi r6, r6, 1
|
||||
lbl_802DBEE0:
|
||||
/* 802DBEE0 002D8E20 80 1F 00 08 */ lwz r0, 8(r31)
|
||||
/* 802DBEE4 002D8E24 7C 06 00 40 */ cmplw r6, r0
|
||||
/* 802DBEE8 002D8E28 41 80 FF EC */ blt lbl_802DBED4
|
||||
/* 802DBEEC 002D8E2C 7C 80 07 35 */ extsh. r0, r4
|
||||
/* 802DBEF0 002D8E30 40 81 00 0C */ ble lbl_802DBEFC
|
||||
/* 802DBEF4 002D8E34 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DBEF8 002D8E38 4B FF 2E 45 */ bl __dl__FPv
|
||||
lbl_802DBEFC:
|
||||
/* 802DBEFC 002D8E3C 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DBF00 002D8E40 83 E1 00 0C */ lwz r31, 0xc(r1)
|
||||
/* 802DBF04 002D8E44 80 01 00 14 */ lwz r0, 0x14(r1)
|
||||
/* 802DBF08 002D8E48 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DBF0C 002D8E4C 38 21 00 10 */ addi r1, r1, 0x10
|
||||
/* 802DBF10 002D8E50 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,5 @@
|
||||
/* 802DBF14 002D8E54 38 00 00 00 */ li r0, 0
|
||||
/* 802DBF18 002D8E58 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 802DBF1C 002D8E5C 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 802DBF20 002D8E60 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 802DBF24 002D8E64 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,9 @@
|
||||
/* 802DBF28 002D8E68 90 64 00 04 */ stw r3, 4(r4)
|
||||
/* 802DBF2C 002D8E6C 38 00 00 00 */ li r0, 0
|
||||
/* 802DBF30 002D8E70 90 04 00 08 */ stw r0, 8(r4)
|
||||
/* 802DBF34 002D8E74 90 04 00 0C */ stw r0, 0xc(r4)
|
||||
/* 802DBF38 002D8E78 90 83 00 04 */ stw r4, 4(r3)
|
||||
/* 802DBF3C 002D8E7C 90 83 00 00 */ stw r4, 0(r3)
|
||||
/* 802DBF40 002D8E80 38 00 00 01 */ li r0, 1
|
||||
/* 802DBF44 002D8E84 90 03 00 08 */ stw r0, 8(r3)
|
||||
/* 802DBF48 002D8E88 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,44 @@
|
||||
/* 802DBF4C 002D8E8C 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802DBF50 002D8E90 7C 08 02 A6 */ mflr r0
|
||||
/* 802DBF54 002D8E94 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802DBF58 002D8E98 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DBF5C 002D8E9C 48 08 62 81 */ bl _savegpr_29
|
||||
/* 802DBF60 002D8EA0 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802DBF64 002D8EA4 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802DBF68 002D8EA8 80 64 00 04 */ lwz r3, 4(r4)
|
||||
/* 802DBF6C 002D8EAC 7C 60 00 34 */ cntlzw r0, r3
|
||||
/* 802DBF70 002D8EB0 54 1F D9 7E */ srwi r31, r0, 5
|
||||
/* 802DBF74 002D8EB4 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
|
||||
/* 802DBF78 002D8EB8 40 82 00 0C */ bne lbl_802DBF84
|
||||
/* 802DBF7C 002D8EBC 48 00 01 E1 */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802DBF80 002D8EC0 7C 7F 1B 78 */ mr r31, r3
|
||||
lbl_802DBF84:
|
||||
/* 802DBF84 002D8EC4 57 E0 06 3F */ clrlwi. r0, r31, 0x18
|
||||
/* 802DBF88 002D8EC8 41 82 00 4C */ beq lbl_802DBFD4
|
||||
/* 802DBF8C 002D8ECC 80 1D 00 08 */ lwz r0, 8(r29)
|
||||
/* 802DBF90 002D8ED0 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802DBF94 002D8ED4 40 82 00 14 */ bne lbl_802DBFA8
|
||||
/* 802DBF98 002D8ED8 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802DBF9C 002D8EDC 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802DBFA0 002D8EE0 4B FF FF 89 */ bl setFirst__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802DBFA4 002D8EE4 48 00 00 30 */ b lbl_802DBFD4
|
||||
lbl_802DBFA8:
|
||||
/* 802DBFA8 002D8EE8 93 BE 00 04 */ stw r29, 4(r30)
|
||||
/* 802DBFAC 002D8EEC 80 1D 00 04 */ lwz r0, 4(r29)
|
||||
/* 802DBFB0 002D8EF0 90 1E 00 08 */ stw r0, 8(r30)
|
||||
/* 802DBFB4 002D8EF4 38 00 00 00 */ li r0, 0
|
||||
/* 802DBFB8 002D8EF8 90 1E 00 0C */ stw r0, 0xc(r30)
|
||||
/* 802DBFBC 002D8EFC 80 7D 00 04 */ lwz r3, 4(r29)
|
||||
/* 802DBFC0 002D8F00 93 C3 00 0C */ stw r30, 0xc(r3)
|
||||
/* 802DBFC4 002D8F04 93 DD 00 04 */ stw r30, 4(r29)
|
||||
/* 802DBFC8 002D8F08 80 7D 00 08 */ lwz r3, 8(r29)
|
||||
/* 802DBFCC 002D8F0C 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 802DBFD0 002D8F10 90 1D 00 08 */ stw r0, 8(r29)
|
||||
lbl_802DBFD4:
|
||||
/* 802DBFD4 002D8F14 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DBFD8 002D8F18 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DBFDC 002D8F1C 48 08 62 4D */ bl _restgpr_29
|
||||
/* 802DBFE0 002D8F20 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802DBFE4 002D8F24 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DBFE8 002D8F28 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802DBFEC 002D8F2C 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,44 @@
|
||||
/* 802DBFF0 002D8F30 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802DBFF4 002D8F34 7C 08 02 A6 */ mflr r0
|
||||
/* 802DBFF8 002D8F38 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802DBFFC 002D8F3C 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DC000 002D8F40 48 08 61 DD */ bl _savegpr_29
|
||||
/* 802DC004 002D8F44 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802DC008 002D8F48 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802DC00C 002D8F4C 80 64 00 04 */ lwz r3, 4(r4)
|
||||
/* 802DC010 002D8F50 7C 60 00 34 */ cntlzw r0, r3
|
||||
/* 802DC014 002D8F54 54 1F D9 7E */ srwi r31, r0, 5
|
||||
/* 802DC018 002D8F58 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
|
||||
/* 802DC01C 002D8F5C 40 82 00 0C */ bne lbl_802DC028
|
||||
/* 802DC020 002D8F60 48 00 01 3D */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802DC024 002D8F64 7C 7F 1B 78 */ mr r31, r3
|
||||
lbl_802DC028:
|
||||
/* 802DC028 002D8F68 57 E0 06 3F */ clrlwi. r0, r31, 0x18
|
||||
/* 802DC02C 002D8F6C 41 82 00 4C */ beq lbl_802DC078
|
||||
/* 802DC030 002D8F70 80 1D 00 08 */ lwz r0, 8(r29)
|
||||
/* 802DC034 002D8F74 28 00 00 00 */ cmplwi r0, 0
|
||||
/* 802DC038 002D8F78 40 82 00 14 */ bne lbl_802DC04C
|
||||
/* 802DC03C 002D8F7C 7F A3 EB 78 */ mr r3, r29
|
||||
/* 802DC040 002D8F80 7F C4 F3 78 */ mr r4, r30
|
||||
/* 802DC044 002D8F84 4B FF FE E5 */ bl setFirst__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802DC048 002D8F88 48 00 00 30 */ b lbl_802DC078
|
||||
lbl_802DC04C:
|
||||
/* 802DC04C 002D8F8C 93 BE 00 04 */ stw r29, 4(r30)
|
||||
/* 802DC050 002D8F90 38 00 00 00 */ li r0, 0
|
||||
/* 802DC054 002D8F94 90 1E 00 08 */ stw r0, 8(r30)
|
||||
/* 802DC058 002D8F98 80 1D 00 00 */ lwz r0, 0(r29)
|
||||
/* 802DC05C 002D8F9C 90 1E 00 0C */ stw r0, 0xc(r30)
|
||||
/* 802DC060 002D8FA0 80 7D 00 00 */ lwz r3, 0(r29)
|
||||
/* 802DC064 002D8FA4 93 C3 00 08 */ stw r30, 8(r3)
|
||||
/* 802DC068 002D8FA8 93 DD 00 00 */ stw r30, 0(r29)
|
||||
/* 802DC06C 002D8FAC 80 7D 00 08 */ lwz r3, 8(r29)
|
||||
/* 802DC070 002D8FB0 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 802DC074 002D8FB4 90 1D 00 08 */ stw r0, 8(r29)
|
||||
lbl_802DC078:
|
||||
/* 802DC078 002D8FB8 7F E3 FB 78 */ mr r3, r31
|
||||
/* 802DC07C 002D8FBC 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DC080 002D8FC0 48 08 61 A9 */ bl _restgpr_29
|
||||
/* 802DC084 002D8FC4 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802DC088 002D8FC8 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DC08C 002D8FCC 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802DC090 002D8FD0 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,56 @@
|
||||
/* 802DC094 002D8FD4 94 21 FF E0 */ stwu r1, -0x20(r1)
|
||||
/* 802DC098 002D8FD8 7C 08 02 A6 */ mflr r0
|
||||
/* 802DC09C 002D8FDC 90 01 00 24 */ stw r0, 0x24(r1)
|
||||
/* 802DC0A0 002D8FE0 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DC0A4 002D8FE4 48 08 61 39 */ bl _savegpr_29
|
||||
/* 802DC0A8 002D8FE8 7C 7D 1B 78 */ mr r29, r3
|
||||
/* 802DC0AC 002D8FEC 7C 9E 23 78 */ mr r30, r4
|
||||
/* 802DC0B0 002D8FF0 7C BF 2B 78 */ mr r31, r5
|
||||
/* 802DC0B4 002D8FF4 80 03 00 00 */ lwz r0, 0(r3)
|
||||
/* 802DC0B8 002D8FF8 7C 1E 00 40 */ cmplw r30, r0
|
||||
/* 802DC0BC 002D8FFC 40 82 00 10 */ bne lbl_802DC0CC
|
||||
/* 802DC0C0 002D9000 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802DC0C4 002D9004 4B FF FF 2D */ bl prepend__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802DC0C8 002D9008 48 00 00 7C */ b lbl_802DC144
|
||||
lbl_802DC0CC:
|
||||
/* 802DC0CC 002D900C 28 1E 00 00 */ cmplwi r30, 0
|
||||
/* 802DC0D0 002D9010 40 82 00 10 */ bne lbl_802DC0E0
|
||||
/* 802DC0D4 002D9014 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802DC0D8 002D9018 4B FF FE 75 */ bl append__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802DC0DC 002D901C 48 00 00 68 */ b lbl_802DC144
|
||||
lbl_802DC0E0:
|
||||
/* 802DC0E0 002D9020 80 1E 00 04 */ lwz r0, 4(r30)
|
||||
/* 802DC0E4 002D9024 7C 00 E8 40 */ cmplw r0, r29
|
||||
/* 802DC0E8 002D9028 41 82 00 0C */ beq lbl_802DC0F4
|
||||
/* 802DC0EC 002D902C 38 60 00 00 */ li r3, 0
|
||||
/* 802DC0F0 002D9030 48 00 00 54 */ b lbl_802DC144
|
||||
lbl_802DC0F4:
|
||||
/* 802DC0F4 002D9034 80 7F 00 04 */ lwz r3, 4(r31)
|
||||
/* 802DC0F8 002D9038 7C 60 00 34 */ cntlzw r0, r3
|
||||
/* 802DC0FC 002D903C 54 04 D9 7E */ srwi r4, r0, 5
|
||||
/* 802DC100 002D9040 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
|
||||
/* 802DC104 002D9044 40 82 00 10 */ bne lbl_802DC114
|
||||
/* 802DC108 002D9048 7F E4 FB 78 */ mr r4, r31
|
||||
/* 802DC10C 002D904C 48 00 00 51 */ bl remove__10JSUPtrListFP10JSUPtrLink
|
||||
/* 802DC110 002D9050 7C 64 1B 78 */ mr r4, r3
|
||||
lbl_802DC114:
|
||||
/* 802DC114 002D9054 54 80 06 3F */ clrlwi. r0, r4, 0x18
|
||||
/* 802DC118 002D9058 41 82 00 28 */ beq lbl_802DC140
|
||||
/* 802DC11C 002D905C 80 7E 00 08 */ lwz r3, 8(r30)
|
||||
/* 802DC120 002D9060 93 BF 00 04 */ stw r29, 4(r31)
|
||||
/* 802DC124 002D9064 90 7F 00 08 */ stw r3, 8(r31)
|
||||
/* 802DC128 002D9068 93 DF 00 0C */ stw r30, 0xc(r31)
|
||||
/* 802DC12C 002D906C 93 E3 00 0C */ stw r31, 0xc(r3)
|
||||
/* 802DC130 002D9070 93 FE 00 08 */ stw r31, 8(r30)
|
||||
/* 802DC134 002D9074 80 7D 00 08 */ lwz r3, 8(r29)
|
||||
/* 802DC138 002D9078 38 03 00 01 */ addi r0, r3, 1
|
||||
/* 802DC13C 002D907C 90 1D 00 08 */ stw r0, 8(r29)
|
||||
lbl_802DC140:
|
||||
/* 802DC140 002D9080 7C 83 23 78 */ mr r3, r4
|
||||
lbl_802DC144:
|
||||
/* 802DC144 002D9084 39 61 00 20 */ addi r11, r1, 0x20
|
||||
/* 802DC148 002D9088 48 08 60 E1 */ bl _restgpr_29
|
||||
/* 802DC14C 002D908C 80 01 00 24 */ lwz r0, 0x24(r1)
|
||||
/* 802DC150 002D9090 7C 08 03 A6 */ mtlr r0
|
||||
/* 802DC154 002D9094 38 21 00 20 */ addi r1, r1, 0x20
|
||||
/* 802DC158 002D9098 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,49 @@
|
||||
/* 802DC15C 002D909C 80 04 00 04 */ lwz r0, 4(r4)
|
||||
/* 802DC160 002D90A0 7C 00 18 50 */ subf r0, r0, r3
|
||||
/* 802DC164 002D90A4 7C 00 00 34 */ cntlzw r0, r0
|
||||
/* 802DC168 002D90A8 54 06 D9 7E */ srwi r6, r0, 5
|
||||
/* 802DC16C 002D90AC 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f
|
||||
/* 802DC170 002D90B0 41 82 00 94 */ beq lbl_802DC204
|
||||
/* 802DC174 002D90B4 80 03 00 08 */ lwz r0, 8(r3)
|
||||
/* 802DC178 002D90B8 28 00 00 01 */ cmplwi r0, 1
|
||||
/* 802DC17C 002D90BC 40 82 00 14 */ bne lbl_802DC190
|
||||
/* 802DC180 002D90C0 38 00 00 00 */ li r0, 0
|
||||
/* 802DC184 002D90C4 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 802DC188 002D90C8 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 802DC18C 002D90CC 48 00 00 64 */ b lbl_802DC1F0
|
||||
lbl_802DC190:
|
||||
/* 802DC190 002D90D0 80 03 00 00 */ lwz r0, 0(r3)
|
||||
/* 802DC194 002D90D4 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 802DC198 002D90D8 40 82 00 1C */ bne lbl_802DC1B4
|
||||
/* 802DC19C 002D90DC 38 00 00 00 */ li r0, 0
|
||||
/* 802DC1A0 002D90E0 80 A4 00 0C */ lwz r5, 0xc(r4)
|
||||
/* 802DC1A4 002D90E4 90 05 00 08 */ stw r0, 8(r5)
|
||||
/* 802DC1A8 002D90E8 80 04 00 0C */ lwz r0, 0xc(r4)
|
||||
/* 802DC1AC 002D90EC 90 03 00 00 */ stw r0, 0(r3)
|
||||
/* 802DC1B0 002D90F0 48 00 00 40 */ b lbl_802DC1F0
|
||||
lbl_802DC1B4:
|
||||
/* 802DC1B4 002D90F4 80 03 00 04 */ lwz r0, 4(r3)
|
||||
/* 802DC1B8 002D90F8 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 802DC1BC 002D90FC 40 82 00 1C */ bne lbl_802DC1D8
|
||||
/* 802DC1C0 002D9100 38 00 00 00 */ li r0, 0
|
||||
/* 802DC1C4 002D9104 80 A4 00 08 */ lwz r5, 8(r4)
|
||||
/* 802DC1C8 002D9108 90 05 00 0C */ stw r0, 0xc(r5)
|
||||
/* 802DC1CC 002D910C 80 04 00 08 */ lwz r0, 8(r4)
|
||||
/* 802DC1D0 002D9110 90 03 00 04 */ stw r0, 4(r3)
|
||||
/* 802DC1D4 002D9114 48 00 00 1C */ b lbl_802DC1F0
|
||||
lbl_802DC1D8:
|
||||
/* 802DC1D8 002D9118 80 04 00 0C */ lwz r0, 0xc(r4)
|
||||
/* 802DC1DC 002D911C 80 A4 00 08 */ lwz r5, 8(r4)
|
||||
/* 802DC1E0 002D9120 90 05 00 0C */ stw r0, 0xc(r5)
|
||||
/* 802DC1E4 002D9124 80 04 00 08 */ lwz r0, 8(r4)
|
||||
/* 802DC1E8 002D9128 80 A4 00 0C */ lwz r5, 0xc(r4)
|
||||
/* 802DC1EC 002D912C 90 05 00 08 */ stw r0, 8(r5)
|
||||
lbl_802DC1F0:
|
||||
/* 802DC1F0 002D9130 38 00 00 00 */ li r0, 0
|
||||
/* 802DC1F4 002D9134 90 04 00 04 */ stw r0, 4(r4)
|
||||
/* 802DC1F8 002D9138 80 83 00 08 */ lwz r4, 8(r3)
|
||||
/* 802DC1FC 002D913C 38 04 FF FF */ addi r0, r4, -1
|
||||
/* 802DC200 002D9140 90 03 00 08 */ stw r0, 8(r3)
|
||||
lbl_802DC204:
|
||||
/* 802DC204 002D9144 7C C3 33 78 */ mr r3, r6
|
||||
/* 802DC208 002D9148 4E 80 00 20 */ blr
|
||||
@@ -0,0 +1,14 @@
|
||||
/* 802DC20C 002D914C 80 03 00 08 */ lwz r0, 8(r3)
|
||||
/* 802DC210 002D9150 7C 04 00 40 */ cmplw r4, r0
|
||||
/* 802DC214 002D9154 41 80 00 0C */ blt lbl_802DC220
|
||||
/* 802DC218 002D9158 38 60 00 00 */ li r3, 0
|
||||
/* 802DC21C 002D915C 4E 80 00 20 */ blr
|
||||
lbl_802DC220:
|
||||
/* 802DC220 002D9160 80 63 00 00 */ lwz r3, 0(r3)
|
||||
/* 802DC224 002D9164 7C 89 03 A6 */ mtctr r4
|
||||
/* 802DC228 002D9168 28 04 00 00 */ cmplwi r4, 0
|
||||
/* 802DC22C 002D916C 4C 81 00 20 */ blelr
|
||||
lbl_802DC230:
|
||||
/* 802DC230 002D9170 80 63 00 0C */ lwz r3, 0xc(r3)
|
||||
/* 802DC234 002D9174 42 00 FF FC */ bdnz lbl_802DC230
|
||||
/* 802DC238 002D9178 4E 80 00 20 */ blr
|
||||
@@ -90,4 +90,82 @@ extern "C" {
|
||||
void getTotalUsedSize__10JKRExpHeapCFv(void);
|
||||
void HeapCheck_NS_getUsedCount(void);
|
||||
void CheckHeap1__9HeapCheckFv(void);
|
||||
|
||||
void JUTException_NS_panic_f(void);
|
||||
}
|
||||
|
||||
// OS
|
||||
extern "C" {
|
||||
void OSInitMutex(void);
|
||||
void OSGetArenaLo(void);
|
||||
void OSGetArenaHi(void);
|
||||
void OSInitAlloc(void);
|
||||
void OSSetArenaLo(void);
|
||||
void OSSetArenaHi(void);
|
||||
void OSEnableScheduler(void);
|
||||
void OSDisableScheduler(void);
|
||||
}
|
||||
|
||||
// JSupport/JSUList.h
|
||||
extern "C" {
|
||||
void __ct__10JSUPtrLinkFPv(void);
|
||||
void __dt__10JSUPtrLinkFv(void);
|
||||
void __ct__10JSUPtrListFb(void);
|
||||
void __dt__10JSUPtrListFv(void);
|
||||
void initiate__10JSUPtrListFv(void);
|
||||
void setFirst__10JSUPtrListFP10JSUPtrLink(void);
|
||||
void append__10JSUPtrListFP10JSUPtrLink(void);
|
||||
void prepend__10JSUPtrListFP10JSUPtrLink(void);
|
||||
void insert__10JSUPtrListFP10JSUPtrLinkP10JSUPtrLink(void);
|
||||
void remove__10JSUPtrListFP10JSUPtrLink(void);
|
||||
void getNthLink__10JSUPtrListCFUl(void);
|
||||
}
|
||||
|
||||
// JKernel/JKRDisposer.h
|
||||
extern "C" {
|
||||
void __ct__11JKRDisposerFv(void);
|
||||
void __dt__11JKRDisposerFv(void);
|
||||
}
|
||||
|
||||
// JKernel/JKRHeap.h
|
||||
extern "C" {
|
||||
void becomeCurrentHeap__7JKRHeapFv(void);
|
||||
void becomeSystemHeap__7JKRHeapFv(void);
|
||||
void destroy__7JKRHeapFv(void);
|
||||
void alloc__7JKRHeapFUliP7JKRHeap(void);
|
||||
void alloc__7JKRHeapFUli(void);
|
||||
void free__7JKRHeapFPvP7JKRHeap(void);
|
||||
void free__7JKRHeapFPv(void);
|
||||
void callAllDisposer__7JKRHeapFv(void);
|
||||
void freeAll__7JKRHeapFv(void);
|
||||
void freeTail__7JKRHeapFv(void);
|
||||
void resize__7JKRHeapFPvUlP7JKRHeap(void);
|
||||
void resize__7JKRHeapFPvUl(void);
|
||||
void getSize__7JKRHeapFPvP7JKRHeap(void);
|
||||
void getSize__7JKRHeapFPv(void);
|
||||
void getFreeSize__7JKRHeapFv(void);
|
||||
void getMaxFreeBlock__7JKRHeapFv(void);
|
||||
void getTotalFreeSize__7JKRHeapFv(void);
|
||||
void changeGroupID__7JKRHeapFUc(void);
|
||||
void getMaxAllocatableSize__7JKRHeapFi(void);
|
||||
void findFromRoot__7JKRHeapFPv(void);
|
||||
void find__7JKRHeapCFPv(void);
|
||||
void findAllHeap__7JKRHeapCFPv(void);
|
||||
void dispose_subroutine__7JKRHeapFUlUl(void);
|
||||
void dispose__7JKRHeapFPvUl(void);
|
||||
void dispose__7JKRHeapFPvPv(void);
|
||||
void dispose__7JKRHeapFv(void);
|
||||
void copyMemory__7JKRHeapFPvPvUl(void);
|
||||
void JKRDefaultMemoryErrorRoutine__FPvUli(void);
|
||||
void setErrorFlag__7JKRHeapFb(void);
|
||||
void setErrorHandler__7JKRHeapFPFPvUli_v(void);
|
||||
void isSubHeap__7JKRHeapCFP7JKRHeap(void);
|
||||
void __nw__FUl(void);
|
||||
void __nw__FUli(void);
|
||||
void __nw__FUlP7JKRHeapi(void);
|
||||
void __nwa__FUl(void);
|
||||
void __nwa__FUli(void);
|
||||
void __nwa__FUlP7JKRHeapi(void);
|
||||
void __dl__FPv(void);
|
||||
void __dla__FPv(void);
|
||||
}
|
||||
+26
-1
@@ -15,4 +15,29 @@ extern u8 lbl_803A2EF4;
|
||||
//extern char lbl_803739a0[0x310];
|
||||
|
||||
#define _SDA_BASE_(dummy) 0
|
||||
#define _SDA2_BASE_(dummy) 0
|
||||
#define _SDA2_BASE_(dummy) 0
|
||||
|
||||
// func_802CE138
|
||||
extern u32 lbl_803CBF70[24];
|
||||
|
||||
extern void* lbl_80451370; // JKRHeap::sSystemHeap
|
||||
extern void* lbl_80451378; // JKRHeap::sRootHeap
|
||||
extern void* lbl_80451374; // JKRHeap::sCurrentHeap
|
||||
extern void* lbl_8045137C; // JKRHeap::mErrorHandler
|
||||
|
||||
extern u8 lbl_804508B0[8]; // ::*fill*
|
||||
extern u8 lbl_80451380[4]; // DAT_80451380
|
||||
|
||||
// func_802CE378
|
||||
extern void* lbl_80451384; // JKRHeap::mCodeStart
|
||||
extern void* lbl_80451388; // JKRHeap::mCodeEnd
|
||||
extern void* lbl_8045138C; // JKRHeap::mUserRamStart
|
||||
extern void* lbl_80451390; // JKRHeap::mUserRamEnd
|
||||
extern u32 lbl_80451394; // JKRHeap::mMemorySize
|
||||
|
||||
|
||||
// func_802CEB40
|
||||
extern char lbl_8039CAD8[12]; // "JKRHeap.cpp"
|
||||
|
||||
// func_802D147C
|
||||
extern void* lbl_803CC0F0[4]; // JKRDisposer::__vt
|
||||
Reference in New Issue
Block a user