X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fbackend.lisp;h=6c0c529214907da4ecfd807e7297f1ca58551c06;hb=31361af9eb64344f521abbb245ea784c76c746e5;hp=06e7d530203f31024f25d3f87454ca7dae2320de;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/compiler/backend.lisp b/src/compiler/backend.lisp index 06e7d53..6c0c529 100644 --- a/src/compiler/backend.lisp +++ b/src/compiler/backend.lisp @@ -20,25 +20,11 @@ ;;;; files for more information. (in-package "SB!C") - -(file-comment - "$Header$") ;;;; miscellaneous backend properties -;;; the conventional file extension for fasl files on this architecture, -;;; e.g. "x86f" -(defvar *backend-fasl-file-type* nil) -(declaim (type (or simple-string null) *backend-fasl-file-type*)) - -;;; implementation and version of fasl files used -(defvar *backend-fasl-file-implementation* nil) -(defvar *backend-fasl-file-version* nil) -(declaim (type (or keyword null) *backend-fasl-file-implementation*)) -(declaim (type (or index null) *backend-fasl-file-version*)) - -;;; the number of references that a TN must have to offset the overhead of -;;; saving the TN across a call +;;; the number of references that a TN must have to offset the +;;; overhead of saving the TN across a call (defvar *backend-register-save-penalty* 0) (declaim (type index *backend-register-save-penalty*)) @@ -119,7 +105,7 @@ ;;; The T primitive-type is kept in this variable so that people who ;;; have to special-case it can get at it conveniently. This variable ;;; has to be set by the machine-specific VM definition, since the -;;; DEF-PRIMITIVE-TYPE for T must specify the SCs that boxed objects +;;; !DEF-PRIMITIVE-TYPE for T must specify the SCs that boxed objects ;;; can be allocated in. (defvar *backend-t-primitive-type*) (declaim (type primitive-type *backend-t-primitive-type*)) @@ -171,7 +157,7 @@ `(progn (eval-when (:compile-toplevel :load-toplevel :execute) (defparameter *vm-support-routines* ',routines)) - (defstruct vm-support-routines + (defstruct (vm-support-routines (:copier nil)) ,@(mapcar #'(lambda (routine) `(,routine nil :type (or function null))) routines)) @@ -228,7 +214,7 @@ (defprinter (vm-support-routines)) -(defmacro def-vm-support-routine (name ll &body body) +(defmacro !def-vm-support-routine (name ll &body body) (unless (member (intern (string name) (find-package "SB!C")) *vm-support-routines*) (warn "unknown VM support routine: ~A" name)) @@ -245,13 +231,3 @@ ;;; the VM support routines (defvar *backend-support-routines* (make-vm-support-routines)) (declaim (type vm-support-routines *backend-support-routines*)) - -;;;; utilities - -(defun backend-byte-fasl-file-implementation () - *backend-byte-order*) - -(defun backend-byte-fasl-file-type () - (ecase *backend-byte-order* - (:big-endian "bytef") - (:little-endian "lbytef")))