tp/include/JSystem/JKernel/JKRExpHeap/asm/func_802CF89C.s

40 lines
1.9 KiB
ArmAsm

/* do_freeTail__10JKRExpHeapFv __ct__10JKRExpHeapFPvUlP7JKRHeapb::do_freeTail(void) */
/* missing reference */
/* 802CF89C 002CC7DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802CF8A0 002CC7E0 7C 08 02 A6 */ mflr r0
/* 802CF8A4 002CC7E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 802CF8A8 002CC7E8 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF8AC 002CC7EC 48 09 29 31 */ bl _savegpr_29
/* 802CF8B0 002CC7F0 7C 7D 1B 78 */ mr r29, r3
/* 802CF8B4 002CC7F4 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF8B8 002CC7F8 48 06 F7 89 */ bl OSLockMutex
/* 802CF8BC 002CC7FC 83 FD 00 80 */ lwz r31, 0x80(r29)
/* 802CF8C0 002CC800 48 00 00 3C */ b lbl_802CF8FC
lbl_802CF8C4:
/* 802CF8C4 002CC804 88 1F 00 02 */ lbz r0, 2(r31)
/* 802CF8C8 002CC808 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 802CF8CC 002CC80C 41 82 00 2C */ beq lbl_802CF8F8
/* 802CF8D0 002CC810 7F A3 EB 78 */ mr r3, r29
/* 802CF8D4 002CC814 38 9F 00 10 */ addi r4, r31, 0x10
/* 802CF8D8 002CC818 80 BF 00 04 */ lwz r5, 4(r31)
/* 802CF8DC 002CC81C 4B FF F1 9D */ bl dispose__7JKRHeapFPvUl
/* 802CF8E0 002CC820 83 DF 00 0C */ lwz r30, 0xc(r31)
/* 802CF8E4 002CC824 7F E3 FB 78 */ mr r3, r31
/* 802CF8E8 002CC828 7F A4 EB 78 */ mr r4, r29
/* 802CF8EC 002CC82C 48 00 0F E1 */ bl free__Q210JKRExpHeap9CMemBlockFP10JKRExpHeap
/* 802CF8F0 002CC830 7F DF F3 78 */ mr r31, r30
/* 802CF8F4 002CC834 48 00 00 08 */ b lbl_802CF8FC
lbl_802CF8F8:
/* 802CF8F8 002CC838 83 FF 00 0C */ lwz r31, 0xc(r31)
lbl_802CF8FC:
/* 802CF8FC 002CC83C 28 1F 00 00 */ cmplwi r31, 0
/* 802CF900 002CC840 40 82 FF C4 */ bne lbl_802CF8C4
/* 802CF904 002CC844 38 7D 00 18 */ addi r3, r29, 0x18
/* 802CF908 002CC848 48 06 F8 15 */ bl OSUnlockMutex
/* 802CF90C 002CC84C 39 61 00 20 */ addi r11, r1, 0x20
/* 802CF910 002CC850 48 09 29 19 */ bl _restgpr_29
/* 802CF914 002CC854 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802CF918 002CC858 7C 08 03 A6 */ mtlr r0
/* 802CF91C 002CC85C 38 21 00 20 */ addi r1, r1, 0x20
/* 802CF920 002CC860 4E 80 00 20 */ blr