/vendor/gc/mips_ultrix_mach_dep.s

http://github.com/feyeleanor/RubyGoLightly · Assembly · 26 lines · 25 code · 1 blank · 0 comment · 0 complexity · 0827ad9a8c72cef5ef63abb18d5e7c78 MD5 · raw file

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