X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fbackend.lisp;h=cf140b1e644a7f241560dda3e86bf5fbfff258ac;hb=98a76d4426660876dec6649b1e228d2e5b47f579;hp=04c4e3510c1af48df08629ace4a33229dd4d1998;hpb=0a82f2db352cc348d2107a882e50af222ff97ed3;p=sbcl.git diff --git a/src/compiler/backend.lisp b/src/compiler/backend.lisp index 04c4e35..cf140b1 100644 --- a/src/compiler/backend.lisp +++ b/src/compiler/backend.lisp @@ -107,7 +107,7 @@ (defvar *backend-t-primitive-type*) (declaim (type primitive-type *backend-t-primitive-type*)) -;;; a hashtable translating from VOP names to the corresponding VOP-Parse +;;; a hashtable translating from VOP names to the corresponding VOP-PARSE ;;; structures. This information is only used at meta-compile time. (defvar *backend-parsed-vops* (make-hash-table :test 'eq)) (declaim (type hash-table *backend-parsed-vops*)) @@ -151,19 +151,19 @@ (eval-when (:compile-toplevel :load-toplevel :execute) (defparameter *vm-support-routines* ',routines)) (defstruct (vm-support-routines (:copier nil)) - ,@(mapcar #'(lambda (routine) - `(,routine nil :type (or function null))) + ,@(mapcar (lambda (routine) + `(,routine nil :type (or function null))) routines)) ,@(mapcar - #'(lambda (name) - `(defun ,name (&rest args) - (apply (or (,(symbolicate "VM-SUPPORT-ROUTINES-" - name) - *backend-support-routines*) - (error "machine-specific support ~S ~ + (lambda (name) + `(defun ,name (&rest args) + (apply (or (,(symbolicate "VM-SUPPORT-ROUTINES-" + name) + *backend-support-routines*) + (error "machine-specific support ~S ~ routine undefined" - ',name)) - args))) + ',name)) + args))) routines)))) (def-vm-support-routines @@ -180,12 +180,12 @@ make-call-out-tns ;; from call.lisp - standard-argument-location + standard-arg-location make-return-pc-passing-location make-old-fp-passing-location make-old-fp-save-location make-return-pc-save-location - make-argument-count-location + make-arg-count-location make-nfp-tn make-stack-pointer-tn make-number-stack-pointer-tn @@ -195,7 +195,7 @@ ;; from nlx.lisp make-nlx-sp-tn make-dynamic-state-tns - make-nlx-entry-argument-start-location + make-nlx-entry-arg-start-location ;; from support.lisp generate-call-sequence @@ -263,8 +263,10 @@ yet an ideal interface, but it does allow for compile-time conditionalization. |# -;;; The default value of NIL means use only unguarded VOPs. -(defvar *backend-subfeatures* nil) +;;; The default value of NIL means use only unguarded VOPs. The +;;; initial value is customizeable via +;;; customize-backend-subfeatures.lisp +(defvar *backend-subfeatures* '#.sb-cold:*shebang-backend-subfeatures*) ;;; possible *BACKEND-SUBFEATURES* values: ;;;