1# define call_push(x)     move    $4,x;    jal     GC_push_one
2
3    .text
4 # Mark from machine registers that are saved by C compiler
5    .globl  GC_push_regs
6    .ent    GC_push_regs
7GC_push_regs:
8    subu    $sp,8       ## Need to save only return address
9    sw      $31,4($sp)
10    .mask   0x80000000,-4
11    .frame  $sp,8,$31
12    call_push($2)
13    call_push($3)
14    call_push($16)
15    call_push($17)
16    call_push($18)
17    call_push($19)
18    call_push($20)
19    call_push($21)
20    call_push($22)
21    call_push($23)
22    call_push($30)
23    lw      $31,4($sp)
24    addu    $sp,8
25    j       $31
26    .end    GC_push_regs
27