[BACK]Return to powerpc_darwin_mach_dep.s CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / gc

Annotation of OpenXM_contrib2/asir2000/gc/powerpc_darwin_mach_dep.s, Revision 1.1

1.1     ! noro        1:
        !             2: ; GC_push_regs function. Under some optimization levels GCC will clobber
        !             3: ; some of the non-volatile registers before we get a chance to save them
        !             4: ; therefore, this can't be inline asm.
        !             5:
        !             6: .text
        !             7:        .align 2
        !             8:        .globl _GC_push_regs
        !             9: _GC_push_regs:
        !            10:
        !            11:     ; Prolog
        !            12:        mflr r0
        !            13:        stw r0,8(r1)
        !            14:        stwu r1,-80(r1)
        !            15:
        !            16:        ; Push r13-r31
        !            17:        mr r3,r13
        !            18:        bl L_GC_push_one$stub
        !            19:        mr r3,r14
        !            20:        bl L_GC_push_one$stub
        !            21:        mr r3,r15
        !            22:        bl L_GC_push_one$stub
        !            23:        mr r3,r16
        !            24:        bl L_GC_push_one$stub
        !            25:        mr r3,r17
        !            26:        bl L_GC_push_one$stub
        !            27:        mr r3,r18
        !            28:        bl L_GC_push_one$stub
        !            29:        mr r3,r19
        !            30:        bl L_GC_push_one$stub
        !            31:        mr r3,r20
        !            32:        bl L_GC_push_one$stub
        !            33:        mr r3,r21
        !            34:        bl L_GC_push_one$stub
        !            35:        mr r3,r22
        !            36:        bl L_GC_push_one$stub
        !            37:        mr r3,r23
        !            38:        bl L_GC_push_one$stub
        !            39:        mr r3,r24
        !            40:        bl L_GC_push_one$stub
        !            41:        mr r3,r25
        !            42:        bl L_GC_push_one$stub
        !            43:        mr r3,r26
        !            44:        bl L_GC_push_one$stub
        !            45:        mr r3,r27
        !            46:        bl L_GC_push_one$stub
        !            47:        mr r3,r28
        !            48:        bl L_GC_push_one$stub
        !            49:        mr r3,r29
        !            50:        bl L_GC_push_one$stub
        !            51:        mr r3,r30
        !            52:        bl L_GC_push_one$stub
        !            53:        mr r3,r31
        !            54:        bl L_GC_push_one$stub
        !            55:
        !            56:     ;
        !            57:     lwz r0,88(r1)
        !            58:     addi r1,r1,80
        !            59:        mtlr r0
        !            60:
        !            61:        ; Return
        !            62:        blr
        !            63:
        !            64: ; PIC stuff, generated by GCC
        !            65:
        !            66: .data
        !            67: .picsymbol_stub
        !            68: L_GC_push_one$stub:
        !            69:        .indirect_symbol _GC_push_one
        !            70:        mflr r0
        !            71:        bcl 20,31,L0$_GC_push_one
        !            72: L0$_GC_push_one:
        !            73:        mflr r11
        !            74:        addis r11,r11,ha16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
        !            75:        mtlr r0
        !            76:        lwz r12,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)(r11)
        !            77:        mtctr r12
        !            78:        addi r11,r11,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
        !            79:        bctr
        !            80: .data
        !            81: .lazy_symbol_pointer
        !            82: L_GC_push_one$lazy_ptr:
        !            83:        .indirect_symbol _GC_push_one
        !            84:        .long dyld_stub_binding_helper

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>