[BACK]Return to mips_sgi_mach_dep.s CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / gc

Annotation of OpenXM_contrib/gc/mips_sgi_mach_dep.s, Revision 1.1.1.1

1.1       maekawa     1: #include <sys/regdef.h>
                      2: #include <sys/asm.h>
                      3:
                      4: # define call_push(x)     move    $4,x;    jal     GC_push_one
                      5:
                      6:     .text
                      7: /* Mark from machine registers that are saved by C compiler */
                      8: #   define FRAMESZ 32
                      9: #   define RAOFF FRAMESZ-SZREG
                     10: #   define GPOFF FRAMESZ-(2*SZREG)
                     11:     NESTED(GC_push_regs, FRAMESZ, ra)
                     12:     .mask 0x80000000,-SZREG    # inform debugger of saved ra loc
                     13:     move       t0,gp
                     14:     SETUP_GPX(t8)
                     15:     PTR_SUBU   sp,FRAMESZ
                     16: #   ifdef SETUP_GP64
                     17:       SETUP_GP64(GPOFF, GC_push_regs)
                     18: #   endif
                     19:     SAVE_GP(GPOFF)
                     20:     REG_S      ra,RAOFF(sp)
                     21: #   if (_MIPS_SIM == _MIPS_SIM_ABI32)
                     22:        call_push($2)
                     23:        call_push($3)
                     24: #   endif
                     25:     call_push($16)
                     26:     call_push($17)
                     27:     call_push($18)
                     28:     call_push($19)
                     29:     call_push($20)
                     30:     call_push($21)
                     31:     call_push($22)
                     32:     call_push($23)
                     33:     call_push($30)
                     34:     REG_L      ra,RAOFF(sp)
                     35: #   ifdef RESTORE_GP64
                     36:       RESTORE_GP64
                     37: #   endif
                     38:     PTR_ADDU   sp,FRAMESZ
                     39:     j          ra
                     40:     .end    GC_push_regs

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