0.8.19.15:
[sbcl.git] / src / assembly / alpha / support.lisp
index 3490176..a2ef297 100644 (file)
@@ -1,21 +1,19 @@
-;;; -*- Package: ALPHA -*-
-;;;
-;;; **********************************************************************
-;;; This code was written as part of the CMU Common Lisp project at
-;;; Carnegie Mellon University, and has been placed in the public domain.
-;;;
-;;;
-;;; **********************************************************************
-;;;
-;;; This file contains the machine specific support routines needed by
-;;; the file assembler.
-;;;
-(in-package "SB!VM")
+;;;; 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 li (make-fixup ',name :assembly-routine) temp)
        (inst jsr lip-tn temp))
          (:temporary (:scs (control-stack) :offset nfp-save-offset)
                      ,nfp-save)
          (:temporary (:scs (non-descriptor-reg)) temp1)
-         (:save-p t)))))
-    (:none
-     (values
-      `((inst li (make-fixup ',name :assembly-routine) temp)
-       (inst jsr lip-tn temp (make-fixup ',name :assembly-routine)))
-      '((:temporary (:scs (non-descriptor-reg)) temp))
-      nil))))
-
+         (:save-p t)))))))
 
 (!def-vm-support-routine generate-return-sequence (style)
   (ecase style
@@ -72,3 +63,6 @@
                                    :offset lra-offset)
                    lip-tn :offset 2)))
     (:none)))
+
+(defun return-machine-address (scp)
+  (context-register scp lip-offset))