X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fassembly%2Fsparc%2Fsupport.lisp;h=42d4f0d63fea9329995e68aab04eff41fcf35b13;hb=78689792e8f8d20b3b931f508f3a9eca81b64f1f;hp=d5a153272cdfc9a04627d6881736678f882e6cb2;hpb=a3cf4cf656f0067aaf028f62c340e77c0dca7bbb;p=sbcl.git diff --git a/src/assembly/sparc/support.lisp b/src/assembly/sparc/support.lisp index d5a1532..42d4f0d 100644 --- a/src/assembly/sparc/support.lisp +++ b/src/assembly/sparc/support.lisp @@ -13,7 +13,7 @@ (!def-vm-support-routine generate-call-sequence (name style vop) (ecase style - (:raw + ((:raw :none) (let ((temp (make-symbol "TEMP")) (lip (make-symbol "LIP"))) (values @@ -52,14 +52,7 @@ ,lra) (:temporary (:scs (control-stack) :offset nfp-save-offset) ,nfp-save) - (:save-p :compute-only))))) - (:none - (let ((temp (make-symbol "TEMP"))) - (values - `((inst ji ,temp (make-fixup ',name :assembly-routine)) - (inst nop)) - `((:temporary (:scs (non-descriptor-reg) :from (:eval 0) :to (:eval 1)) - ,temp))))))) + (:save-p :compute-only))))))) (!def-vm-support-routine generate-return-sequence (style) (ecase style @@ -76,3 +69,6 @@ :offset lra-offset) :offset 2))) (:none))) + +(defun return-machine-address (scp) + (+ (context-register scp lip-offset) 8))