tp/asm/JSystem/JAudio2/JASHeapCtrl/alloc__7JASHeapFP7JASHeapUl.s

131 lines
5.1 KiB
ArmAsm

lbl_8029021C:
/* 8029021C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80290220 7C 08 02 A6 */ mflr r0
/* 80290224 90 01 00 34 */ stw r0, 0x34(r1)
/* 80290228 39 61 00 30 */ addi r11, r1, 0x30
/* 8029022C 48 0D 1F A9 */ bl _savegpr_27
/* 80290230 7C 7C 1B 78 */ mr r28, r3
/* 80290234 7C 9D 23 78 */ mr r29, r4
/* 80290238 7C BE 2B 78 */ mr r30, r5
/* 8029023C 38 7C 00 1C */ addi r3, r28, 0x1c
/* 80290240 90 61 00 08 */ stw r3, 8(r1)
/* 80290244 48 0A ED FD */ bl OSLockMutex
/* 80290248 80 1C 00 38 */ lwz r0, 0x38(r28)
/* 8029024C 28 00 00 00 */ cmplwi r0, 0
/* 80290250 41 82 00 14 */ beq lbl_80290264
/* 80290254 80 61 00 08 */ lwz r3, 8(r1)
/* 80290258 48 0A EE C5 */ bl OSUnlockMutex
/* 8029025C 38 60 00 00 */ li r3, 0
/* 80290260 48 00 01 7C */ b lbl_802903DC
lbl_80290264:
/* 80290264 80 1D 00 38 */ lwz r0, 0x38(r29)
/* 80290268 28 00 00 00 */ cmplwi r0, 0
/* 8029026C 40 82 00 14 */ bne lbl_80290280
/* 80290270 80 61 00 08 */ lwz r3, 8(r1)
/* 80290274 48 0A EE A9 */ bl OSUnlockMutex
/* 80290278 38 60 00 00 */ li r3, 0
/* 8029027C 48 00 01 60 */ b lbl_802903DC
lbl_80290280:
/* 80290280 38 1E 00 1F */ addi r0, r30, 0x1f
/* 80290284 54 1E 00 34 */ rlwinm r30, r0, 0, 0, 0x1a
/* 80290288 7F A3 EB 78 */ mr r3, r29
/* 8029028C 48 00 05 55 */ bl getCurOffset__7JASHeapFv
/* 80290290 7C 7B 1B 78 */ mr r27, r3
/* 80290294 7F A3 EB 78 */ mr r3, r29
/* 80290298 48 00 04 E5 */ bl getTailOffset__7JASHeapFv
/* 8029029C 7C 1B F2 14 */ add r0, r27, r30
/* 802902A0 7C 00 18 40 */ cmplw r0, r3
/* 802902A4 41 81 00 3C */ bgt lbl_802902E0
/* 802902A8 7F A3 EB 78 */ mr r3, r29
/* 802902AC 48 00 04 45 */ bl getTailHeap__7JASHeapFv
/* 802902B0 7C 65 1B 78 */ mr r5, r3
/* 802902B4 7F A3 EB 78 */ mr r3, r29
/* 802902B8 7F 84 E3 78 */ mr r4, r28
/* 802902BC 80 1D 00 38 */ lwz r0, 0x38(r29)
/* 802902C0 7C C0 DA 14 */ add r6, r0, r27
/* 802902C4 7F C7 F3 78 */ mr r7, r30
/* 802902C8 39 00 00 00 */ li r8, 0
/* 802902CC 48 00 03 3D */ bl insertChild__7JASHeapFP7JASHeapP7JASHeapPvUlb
/* 802902D0 80 61 00 08 */ lwz r3, 8(r1)
/* 802902D4 48 0A EE 49 */ bl OSUnlockMutex
/* 802902D8 38 60 00 01 */ li r3, 1
/* 802902DC 48 00 01 00 */ b lbl_802903DC
lbl_802902E0:
/* 802902E0 39 40 FF FF */ li r10, -1
/* 802902E4 81 1D 00 38 */ lwz r8, 0x38(r29)
/* 802902E8 7D 04 43 78 */ mr r4, r8
/* 802902EC 39 60 00 00 */ li r11, 0
/* 802902F0 38 A0 00 00 */ li r5, 0
/* 802902F4 80 FD 00 00 */ lwz r7, 0(r29)
/* 802902F8 28 07 00 00 */ cmplwi r7, 0
/* 802902FC 41 82 00 08 */ beq lbl_80290304
/* 80290300 38 E7 FF F4 */ addi r7, r7, -12
lbl_80290304:
/* 80290304 7C C8 1A 14 */ add r6, r8, r3
/* 80290308 48 00 00 54 */ b lbl_8029035C
lbl_8029030C:
/* 8029030C 7C 04 30 40 */ cmplw r4, r6
/* 80290310 40 80 00 54 */ bge lbl_80290364
/* 80290314 81 27 00 0C */ lwz r9, 0xc(r7)
/* 80290318 80 09 00 38 */ lwz r0, 0x38(r9)
/* 8029031C 7C 04 00 50 */ subf r0, r4, r0
/* 80290320 7C 00 F0 40 */ cmplw r0, r30
/* 80290324 41 80 00 1C */ blt lbl_80290340
/* 80290328 7C 00 50 40 */ cmplw r0, r10
/* 8029032C 40 80 00 14 */ bge lbl_80290340
/* 80290330 7D 25 4B 78 */ mr r5, r9
/* 80290334 7C 9F 23 78 */ mr r31, r4
/* 80290338 7C 0A 03 78 */ mr r10, r0
/* 8029033C 39 60 00 01 */ li r11, 1
lbl_80290340:
/* 80290340 80 89 00 38 */ lwz r4, 0x38(r9)
/* 80290344 80 09 00 3C */ lwz r0, 0x3c(r9)
/* 80290348 7C 84 02 14 */ add r4, r4, r0
/* 8029034C 80 E7 00 18 */ lwz r7, 0x18(r7)
/* 80290350 28 07 00 00 */ cmplwi r7, 0
/* 80290354 41 82 00 08 */ beq lbl_8029035C
/* 80290358 38 E7 FF F4 */ addi r7, r7, -12
lbl_8029035C:
/* 8029035C 28 07 00 00 */ cmplwi r7, 0
/* 80290360 40 82 FF AC */ bne lbl_8029030C
lbl_80290364:
/* 80290364 7C 04 40 40 */ cmplw r4, r8
/* 80290368 41 82 00 38 */ beq lbl_802903A0
/* 8029036C 7C 08 1A 14 */ add r0, r8, r3
/* 80290370 7C 04 00 40 */ cmplw r4, r0
/* 80290374 40 80 00 2C */ bge lbl_802903A0
/* 80290378 80 1D 00 3C */ lwz r0, 0x3c(r29)
/* 8029037C 7C 08 02 14 */ add r0, r8, r0
/* 80290380 7C 04 00 50 */ subf r0, r4, r0
/* 80290384 7C 00 F0 40 */ cmplw r0, r30
/* 80290388 41 80 00 18 */ blt lbl_802903A0
/* 8029038C 7C 00 50 40 */ cmplw r0, r10
/* 80290390 40 80 00 10 */ bge lbl_802903A0
/* 80290394 38 A0 00 00 */ li r5, 0
/* 80290398 7C 9F 23 78 */ mr r31, r4
/* 8029039C 39 60 00 01 */ li r11, 1
lbl_802903A0:
/* 802903A0 55 60 06 3F */ clrlwi. r0, r11, 0x18
/* 802903A4 40 82 00 14 */ bne lbl_802903B8
/* 802903A8 80 61 00 08 */ lwz r3, 8(r1)
/* 802903AC 48 0A ED 71 */ bl OSUnlockMutex
/* 802903B0 38 60 00 00 */ li r3, 0
/* 802903B4 48 00 00 28 */ b lbl_802903DC
lbl_802903B8:
/* 802903B8 7F A3 EB 78 */ mr r3, r29
/* 802903BC 7F 84 E3 78 */ mr r4, r28
/* 802903C0 7F E6 FB 78 */ mr r6, r31
/* 802903C4 7F C7 F3 78 */ mr r7, r30
/* 802903C8 39 00 00 00 */ li r8, 0
/* 802903CC 48 00 02 3D */ bl insertChild__7JASHeapFP7JASHeapP7JASHeapPvUlb
/* 802903D0 80 61 00 08 */ lwz r3, 8(r1)
/* 802903D4 48 0A ED 49 */ bl OSUnlockMutex
/* 802903D8 38 60 00 01 */ li r3, 1
lbl_802903DC:
/* 802903DC 39 61 00 30 */ addi r11, r1, 0x30
/* 802903E0 48 0D 1E 41 */ bl _restgpr_27
/* 802903E4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802903E8 7C 08 03 A6 */ mtlr r0
/* 802903EC 38 21 00 30 */ addi r1, r1, 0x30
/* 802903F0 4E 80 00 20 */ blr