X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fassembly%2Falpha%2Fsupport.lisp;h=a2ef297ee95744c269f297653a66d4c1d9be00bb;hb=644a1ff36dd578321fd0592aa47748e8af741542;hp=3490176c0e4827a2b303b476b5769e15f6241229;hpb=dfa55a883f94470267b626dae77ce7e7dfac3df6;p=sbcl.git diff --git a/src/assembly/alpha/support.lisp b/src/assembly/alpha/support.lisp index 3490176..a2ef297 100644 --- a/src/assembly/alpha/support.lisp +++ b/src/assembly/alpha/support.lisp @@ -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)) @@ -52,14 +50,7 @@ (: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))