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>