X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fassembly%2Fmips%2Fsupport.lisp;h=2bad7310ec4fa8a769c1e314ef901acaa071f964;hb=78689792e8f8d20b3b931f508f3a9eca81b64f1f;hp=c91d8c7d8197c64bb228477d54cc8ff6e88144b8;hpb=a3cf4cf656f0067aaf028f62c340e77c0dca7bbb;p=sbcl.git diff --git a/src/assembly/mips/support.lisp b/src/assembly/mips/support.lisp index c91d8c7..2bad731 100644 --- a/src/assembly/mips/support.lisp +++ b/src/assembly/mips/support.lisp @@ -1,8 +1,19 @@ +;;;; the machine-specific support routines needed by the file assembler + +;;;; This software is part of the SBCL system. See the README file for +;;;; more information. +;;;; +;;;; This software is derived from the CMU CL system, which was +;;;; written at Carnegie Mellon University and released into the +;;;; public domain. The software is in the public domain and is +;;;; provided with absolutely no warranty. See the COPYING and CREDITS +;;;; files for more information. + (in-package "SB!VM") (!def-vm-support-routine generate-call-sequence (name style vop) (ecase style - (:raw + ((:raw :none) (values `((inst jal (make-fixup ',name :assembly-routine)) (inst nop)) @@ -36,13 +47,7 @@ ,lra) (:temporary (:scs (control-stack) :offset nfp-save-offset) ,nfp-save) - (:save-p t))))) - (:none - (values - `((inst j (make-fixup ',name :assembly-routine)) - (inst nop)) - nil)))) - + (:save-p t))))))) (!def-vm-support-routine generate-return-sequence (style) (ecase style @@ -56,3 +61,6 @@ :offset lra-offset) lip-tn :offset 2))) (:none))) + +(defun return-machine-address (scp) + (context-register scp lip-offset))