X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmeta-vmdef.lisp;h=4979d4ba7464901991096d54454c9efb61d0298b;hb=683874b497a99cd2c11b6c5d9b47e2785b1ede5f;hp=2d732412a2a61ef2d6e29774b6ac117e795c9edb;hpb=416152f084604094445a758ff399871132dff2bd;p=sbcl.git diff --git a/src/compiler/meta-vmdef.lisp b/src/compiler/meta-vmdef.lisp index 2d73241..4979d4b 100644 --- a/src/compiler/meta-vmdef.lisp +++ b/src/compiler/meta-vmdef.lisp @@ -126,7 +126,7 @@ (declare (type list locations reserve-locations alternate-scs constant-scs)) (declare (type boolean save-p)) (unless (= (logcount alignment) 1) - (error "alignment not a power of two: ~D" alignment)) + (error "alignment not a power of two: ~W" alignment)) (let ((sb (meta-sb-or-lose sb-name))) (if (eq (sb-kind sb) :finite) @@ -136,7 +136,7 @@ (dolist (el locations) (declare (type unsigned-byte el)) (unless (<= 1 (+ el element-size) size) - (error "SC element ~D out of bounds for ~S" el sb)))) + (error "SC element ~W out of bounds for ~S" el sb)))) (when locations (error ":LOCATIONS is meaningless in a ~S SB." (sb-kind sb)))) @@ -176,7 +176,7 @@ (let ((old (svref *backend-sc-numbers* ',number))) (when (and old (not (eq (sc-name old) ',name))) - (warn "redefining SC number ~D from ~S to ~S" ',number + (warn "redefining SC number ~W from ~S to ~S" ',number (sc-name old) ',name))) (setf (svref *backend-sc-numbers* ',number) @@ -274,7 +274,7 @@ (defmacro !def-primitive-type (name scs &key (type name)) (declare (type symbol name) (type list scs)) (let ((scns (mapcar #'meta-sc-number-or-lose scs)) - (get-type `(specifier-type ',type))) + (ctype-form `(specifier-type ',type))) `(progn (/show0 "doing !DEF-PRIMITIVE-TYPE, NAME=..") (/primitive-print ,(symbol-name name)) @@ -282,9 +282,9 @@ (setf (gethash ',name *backend-meta-primitive-type-names*) (make-primitive-type :name ',name :scs ',scns - :type ,get-type))) + :type ,ctype-form))) ,(once-only ((n-old `(gethash ',name *backend-primitive-type-names*)) - (n-type get-type)) + (n-type ctype-form)) `(progn ;; If the PRIMITIVE-TYPE structure already exists, we ;; destructively modify it so that existing references in @@ -458,7 +458,7 @@ ;; name of the operand (which we bind to the TN) (name nil :type symbol) ;; the way this operand is used: - (kind (required-argument) + (kind (missing-arg) :type (member :argument :result :temporary :more-argument :more-result)) ;; If true, the name of an operand that this operand is targeted to. @@ -1022,7 +1022,7 @@ :key #'operand-parse-name)))))) (values)) -;;; the top-level parse function: clobber PARSE to represent the +;;; the top level parse function: clobber PARSE to represent the ;;; specified options. (defun parse-define-vop (parse specs) (declare (type vop-parse parse) (list specs)) @@ -1309,7 +1309,7 @@ (eq (car x) :constant))) types) num) - (error "expected ~D ~:[result~;argument~] type~P: ~S" + (error "expected ~W ~:[result~;argument~] type~P: ~S" num load-p types num))) (when more-op @@ -1462,7 +1462,7 @@ (let ((nvars (length (vop-parse-variant-vars parse)))) (unless (= (length variant) nvars) - (error "expected ~D variant values: ~S" nvars variant))) + (error "expected ~W variant values: ~S" nvars variant))) `(make-vop-info :name ',(vop-parse-name parse) @@ -1748,7 +1748,7 @@ (when (or (vop-parse-more-args parse) (vop-parse-more-results parse)) (error "cannot use VOP with variable operand count templates")) (unless (= noperands (length operands)) - (error "called with ~D operands, but was expecting ~D" + (error "called with ~W operands, but was expecting ~W" (length operands) noperands)) (multiple-value-bind (acode abinds n-args) @@ -1811,7 +1811,7 @@ (<= (length fixed-results) result-count)) (error "too many fixed results")) (unless (= (length info) info-count) - (error "expected ~D info args" info-count)) + (error "expected ~W info args" info-count)) (multiple-value-bind (acode abinds n-args) (make-operand-list fixed-args (car (last args)) nil) @@ -1917,19 +1917,17 @@ (when (and ,tn-var (not (eq ,tn-var :more))) (,n-bod ,tn-var))))))))))) -;;; Iterate over all the IR2 blocks in the environment Env, in emit order. -(defmacro do-environment-ir2-blocks ((block-var env &optional result) - &body body) - (once-only ((n-env env)) - (once-only ((n-first `(node-block - (lambda-bind - (environment-function ,n-env))))) +;;; Iterate over all the IR2 blocks in PHYSENV, in emit order. +(defmacro do-physenv-ir2-blocks ((block-var physenv &optional result) + &body body) + (once-only ((n-physenv physenv)) + (once-only ((n-first `(lambda-block (physenv-lambda ,n-physenv)))) (once-only ((n-tail `(block-info (component-tail (block-component ,n-first))))) `(do ((,block-var (block-info ,n-first) (ir2-block-next ,block-var))) ((or (eq ,block-var ,n-tail) - (not (eq (ir2-block-environment ,block-var) ,n-env))) + (not (eq (ir2-block-physenv ,block-var) ,n-physenv))) ,result) ,@body)))))