]>
Commit | Line | Data |
---|---|---|
73ffefd0 TT |
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 | |
7 | GC_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 |