aboutsummaryrefslogtreecommitdiffstats
path: root/gc/mips_ultrix_mach_dep.s
diff options
context:
space:
mode:
Diffstat (limited to 'gc/mips_ultrix_mach_dep.s')
-rw-r--r--gc/mips_ultrix_mach_dep.s26
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