/* state_register__10JKRExpHeapCFPQ27JKRHeap6TStateUl __ct__10JKRExpHeapFPvUlP7JKRHeapb::state_register( const(JKRHeap::TState *, unsigned long)) */ /* missing reference */ /* 802D0938 002CD878 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802D093C 002CD87C 7C 08 02 A6 */ mflr r0 /* 802D0940 002CD880 90 01 00 24 */ stw r0, 0x24(r1) /* 802D0944 002CD884 39 61 00 20 */ addi r11, r1, 0x20 /* 802D0948 002CD888 48 09 18 95 */ bl _savegpr_29 /* 802D094C 002CD88C 7C 7D 1B 78 */ mr r29, r3 /* 802D0950 002CD890 7C 9E 23 78 */ mr r30, r4 /* 802D0954 002CD894 7C BF 2B 78 */ mr r31, r5 /* 802D0958 002CD898 93 E4 00 14 */ stw r31, 0x14(r4) /* 802D095C 002CD89C 28 1F 00 FF */ cmplwi r31, 0xff /* 802D0960 002CD8A0 41 81 00 14 */ bgt lbl_802D0974 /* 802D0964 002CD8A4 57 E4 06 3E */ clrlwi r4, r31, 0x18 /* 802D0968 002CD8A8 4B FF F3 81 */ bl getUsedSize__10JKRExpHeapCFUc /* 802D096C 002CD8AC 90 7E 00 00 */ stw r3, 0(r30) /* 802D0970 002CD8B0 48 00 00 14 */ b lbl_802D0984 lbl_802D0974: /* 802D0974 002CD8B4 4B FF DE 11 */ bl getTotalFreeSize__7JKRHeapCFv /* 802D0978 002CD8B8 80 1D 00 38 */ lwz r0, 0x38(r29) /* 802D097C 002CD8BC 7C 03 00 50 */ subf r0, r3, r0 /* 802D0980 002CD8C0 90 1E 00 00 */ stw r0, 0(r30) lbl_802D0984: /* 802D0984 002CD8C4 38 60 00 00 */ li r3, 0 /* 802D0988 002CD8C8 80 9D 00 80 */ lwz r4, 0x80(r29) /* 802D098C 002CD8CC 48 00 00 30 */ b lbl_802D09BC lbl_802D0990: /* 802D0990 002CD8D0 28 1F 00 FF */ cmplwi r31, 0xff /* 802D0994 002CD8D4 41 81 00 1C */ bgt lbl_802D09B0 /* 802D0998 002CD8D8 88 04 00 03 */ lbz r0, 3(r4) /* 802D099C 002CD8DC 7C 00 F8 40 */ cmplw r0, r31 /* 802D09A0 002CD8E0 40 82 00 18 */ bne lbl_802D09B8 /* 802D09A4 002CD8E4 1C 04 00 03 */ mulli r0, r4, 3 /* 802D09A8 002CD8E8 7C 63 02 14 */ add r3, r3, r0 /* 802D09AC 002CD8EC 48 00 00 0C */ b lbl_802D09B8 lbl_802D09B0: /* 802D09B0 002CD8F0 1C 04 00 03 */ mulli r0, r4, 3 /* 802D09B4 002CD8F4 7C 63 02 14 */ add r3, r3, r0 lbl_802D09B8: /* 802D09B8 002CD8F8 80 84 00 0C */ lwz r4, 0xc(r4) lbl_802D09BC: /* 802D09BC 002CD8FC 28 04 00 00 */ cmplwi r4, 0 /* 802D09C0 002CD900 40 82 FF D0 */ bne lbl_802D0990 /* 802D09C4 002CD904 90 7E 00 04 */ stw r3, 4(r30) /* 802D09C8 002CD908 39 61 00 20 */ addi r11, r1, 0x20 /* 802D09CC 002CD90C 48 09 18 5D */ bl _restgpr_29 /* 802D09D0 002CD910 80 01 00 24 */ lwz r0, 0x24(r1) /* 802D09D4 002CD914 7C 08 03 A6 */ mtlr r0 /* 802D09D8 002CD918 38 21 00 20 */ addi r1, r1, 0x20 /* 802D09DC 002CD91C 4E 80 00 20 */ blr