From 219b3fc23a6f2f390a1204e81a6803a882449501 Mon Sep 17 00:00:00 2001 From: ram <ram> Date: Fri, 20 Aug 1993 00:13:02 +0000 Subject: [PATCH] Actually move meta-sb-or-lose, etc., here, since we really need them. --- compiler/vmdef.lisp | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/compiler/vmdef.lisp b/compiler/vmdef.lisp index 05df75f29..5e512d27a 100644 --- a/compiler/vmdef.lisp +++ b/compiler/vmdef.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/vmdef.lisp,v 1.47 1993/08/20 00:00:32 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/vmdef.lisp,v 1.48 1993/08/20 00:13:02 ram Exp $") ;;; ;;; ********************************************************************** ;;; @@ -19,6 +19,7 @@ (in-package :c) (export '(template-or-lose sc-or-lose sb-or-lose sc-number-or-lose + meta-sc-or-lose meta-sb-or-lose meta-sc-number-or-lose primitive-type-or-lose note-this-location note-next-instruction)) ;;; Template-Or-Lose -- Internal @@ -49,11 +50,25 @@ (defun sc-number-or-lose (x &optional (backend *target-backend*)) (the sc-number (sc-number (sc-or-lose x backend)))) -;;; Define the meta-ops to be the same as the non-meta, so that we can load -;;; uses of meta-vmdef macros without meta-vmdef being loaded. + +;;; META-SC-OR-LOSE, META-SB-OR-LOSE, META-SC-NUMBER-OR-LOSE -- Internal +;;; +;;; Like the non-meta versions, but go for the meta-compile-time info. +;;; These should not be used after load time, since compiling the compiler +;;; changes the definitions. +;;; +(defun meta-sc-or-lose (x) + (the sc + (or (gethash x (backend-meta-sc-names *target-backend*)) + (error "~S is not a defined storage class." x)))) +;;; +(defun meta-sb-or-lose (x) + (the sb + (or (gethash x (backend-meta-sb-names *target-backend*)) + (error "~S is not a defined storage base." x)))) ;;; -(setf (fdefinition 'meta-sc-or-lose) (fdefinition 'sc-or-lose)) -(setf (fdefinition 'meta-sb-or-lose) (fdefinition 'sb-or-lose)) +(defun meta-sc-number-or-lose (x) + (the sc-number (sc-number (meta-sc-or-lose x)))) ;;;; Side-Effect Classes -- GitLab