diff options
Diffstat (limited to 'gc/mips_ultrix_mach_dep.s')
-rw-r--r-- | gc/mips_ultrix_mach_dep.s | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gc/mips_ultrix_mach_dep.s b/gc/mips_ultrix_mach_dep.s new file mode 100644 index 0000000..178224e --- /dev/null +++ b/gc/mips_ultrix_mach_dep.s @@ -0,0 +1,26 @@ +# define call_push(x) move $4,x; jal GC_push_one + + .text + # Mark from machine registers that are saved by C compiler + .globl GC_push_regs + .ent GC_push_regs +GC_push_regs: + subu $sp,8 ## Need to save only return address + sw $31,4($sp) + .mask 0x80000000,-4 + .frame $sp,8,$31 + call_push($2) + call_push($3) + call_push($16) + call_push($17) + call_push($18) + call_push($19) + call_push($20) + call_push($21) + call_push($22) + call_push($23) + call_push($30) + lw $31,4($sp) + addu $sp,8 + j $31 + .end GC_push_regs |