Files
tp/include/JSystem/JKernel/JKRSolidHeap/asm/func_802D0A24.s
T
Jonathan WaseandGitHub fb1217e3f9 Types and functions for JKRThread, JKRFile, JKRDvdFile, JKRFileCache... (#17)
* Added JSUListIterator and decompiled JKRHeap::dispose_subroutine

* JKRDisposer!

* only 4 functions not OK in JKRHeap

* JKRThread asm functions

* more JKRThread

* JKRThreadSwitch

* JKRThread::JKRThread

* More JKRTHread functions and vtable

* fixed bad merge

* update JKRThread and JKRThreadSwitch to use new virtual inheritance

* save before asmsplit.py script

* JKRFile

* JKRDvdFile

* JKRFileCache

* JKRFileFinder

* JKRFileLoader

* JKRAssertHeap

* JKRExpHeap

* JKRSolidHeap

* fixed type and functions definitions

* JKRArchive (Pub)

* missed file

* JKRArchive

* forgot obj_files.mk

* fixed merge error and class members

* class members

* removed unused asm files

* added names to global variables

* class members for JKRHeap, JKRExpHeap, JKRSolidHeap, and JKRFileCache.
2020-12-05 12:45:10 -05:00

52 lines
2.5 KiB
ArmAsm

/* create__12JKRSolidHeapFUlP7JKRHeapb __ct__12JKRSolidHeapFPvUlP7JKRHeapb::create(unsigned long, JKRHeap *, bool) */
/* JKRSolidHeap_NS_create */
/* 802D0A24 002CD964 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D0A28 002CD968 7C 08 02 A6 */ mflr r0
/* 802D0A2C 002CD96C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D0A30 002CD970 39 61 00 20 */ addi r11, r1, 0x20
/* 802D0A34 002CD974 48 09 17 A9 */ bl _savegpr_29
/* 802D0A38 002CD978 7C 9D 23 79 */ or. r29, r4, r4
/* 802D0A3C 002CD97C 7C BE 2B 78 */ mr r30, r5
/* 802D0A40 002CD980 40 82 00 08 */ bne lbl_802D0A48
/* 802D0A44 002CD984 83 AD 8D F8 */ lwz r29, lbl_80451378-_SDA_BASE_(r13)
lbl_802D0A48:
/* 802D0A48 002CD988 3C 03 00 01 */ addis r0, r3, 1
/* 802D0A4C 002CD98C 28 00 FF FF */ cmplwi r0, 0xffff
/* 802D0A50 002CD990 40 82 00 10 */ bne lbl_802D0A60
/* 802D0A54 002CD994 7F A3 EB 78 */ mr r3, r29
/* 802D0A58 002CD998 38 80 00 10 */ li r4, 0x10
/* 802D0A5C 002CD99C 4B FF DD 81 */ bl getMaxAllocatableSize__7JKRHeapFi
lbl_802D0A60:
/* 802D0A60 002CD9A0 54 7F 00 36 */ rlwinm r31, r3, 0, 0, 0x1b
/* 802D0A64 002CD9A4 28 1F 00 80 */ cmplwi r31, 0x80
/* 802D0A68 002CD9A8 40 80 00 0C */ bge lbl_802D0A74
/* 802D0A6C 002CD9AC 38 60 00 00 */ li r3, 0
/* 802D0A70 002CD9B0 48 00 00 48 */ b lbl_802D0AB8
lbl_802D0A74:
/* 802D0A74 002CD9B4 7F E3 FB 78 */ mr r3, r31
/* 802D0A78 002CD9B8 38 80 00 10 */ li r4, 0x10
/* 802D0A7C 002CD9BC 7F A5 EB 78 */ mr r5, r29
/* 802D0A80 002CD9C0 4B FF D9 F5 */ bl alloc__7JKRHeapFUliP7JKRHeap
/* 802D0A84 002CD9C4 7C 60 1B 78 */ mr r0, r3
/* 802D0A88 002CD9C8 7C 05 03 79 */ or. r5, r0, r0
/* 802D0A8C 002CD9CC 38 85 00 80 */ addi r4, r5, 0x80
/* 802D0A90 002CD9D0 40 82 00 0C */ bne lbl_802D0A9C
/* 802D0A94 002CD9D4 38 60 00 00 */ li r3, 0
/* 802D0A98 002CD9D8 48 00 00 20 */ b lbl_802D0AB8
lbl_802D0A9C:
/* 802D0A9C 002CD9DC 41 82 00 18 */ beq lbl_802D0AB4
/* 802D0AA0 002CD9E0 38 BF FF 80 */ addi r5, r31, -128
/* 802D0AA4 002CD9E4 7F A6 EB 78 */ mr r6, r29
/* 802D0AA8 002CD9E8 7F C7 F3 78 */ mr r7, r30
/* 802D0AAC 002CD9EC 48 00 00 85 */ bl __ct__12JKRSolidHeapFPvUlP7JKRHeapb
/* 802D0AB0 002CD9F0 7C 60 1B 78 */ mr r0, r3
lbl_802D0AB4:
/* 802D0AB4 002CD9F4 7C 03 03 78 */ mr r3, r0
lbl_802D0AB8:
/* 802D0AB8 002CD9F8 39 61 00 20 */ addi r11, r1, 0x20
/* 802D0ABC 002CD9FC 48 09 17 6D */ bl _restgpr_29
/* 802D0AC0 002CDA00 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D0AC4 002CDA04 7C 08 03 A6 */ mtlr r0
/* 802D0AC8 002CDA08 38 21 00 20 */ addi r1, r1, 0x20
/* 802D0ACC 002CDA0C 4E 80 00 20 */ blr