use COMPONENT-TOPLEVELISH-P in CHECK-CONSISTENCY
[sbcl.git] / src / compiler / debug.lisp
index e3c665b..2997e90 100644 (file)
              (unless (or (constant-p v)
                          (and (global-var-p v)
                               (member (global-var-kind v)
-                                      '(:global :special))))
+                                      '(:global :special :unknown))))
                (barf "strange *FREE-VARS* entry: ~S" v))
              (dolist (n (leaf-refs v))
                (check-node-reached n))
     (typecase last
       (cif
        (unless (proper-list-of-length-p succ 1 2)
-         (barf "~S ends in an IF, but doesn't have one or two succesors."
+         (barf "~S ends in an IF, but doesn't have one or two successors."
                block))
        (unless (member (if-consequent last) succ)
          (barf "The CONSEQUENT for ~S isn't in SUCC for ~S." last block))
      (let ((leaf (ref-leaf node)))
        (when (functional-p leaf)
          (if (eq (functional-kind leaf) :toplevel-xep)
-             (unless (eq (component-kind (block-component (node-block node)))
-                         :toplevel)
+             (unless (component-toplevelish-p (block-component (node-block node)))
                (barf ":TOPLEVEL-XEP ref in non-top-level component: ~S"
                      node))
              (check-fun-reached leaf node)))))
                                    atypes)
                      (template-more-args-type info) "args")
       (check-tn-refs (vop-results vop) vop t
-                     (if (eq rtypes :conditional) 0 (length rtypes))
+                     (if (template-conditional-p info) 0 (length rtypes))
                      (template-more-results-type info) "results")
       (check-tn-refs (vop-temps vop) vop t 0 t "temps")
       (unless (= (length (vop-codegen-info vop))
     (symbol (block-or-lose (gethash thing *free-funs*)))))
 
 ;;; Print cN.
-(defun print-continuation (cont)
-  (declare (type continuation cont))
-  (format t " c~D" (cont-num cont))
-  (values))
-
 (defun print-ctran (cont)
   (declare (type ctran cont))
   (format t "c~D " (cont-num cont))
              (case (cleanup-kind cleanup)
                ((:dynamic-extent)
                 (format t "entry DX~{ v~D~}"
-                        (mapcar #'cont-num (cleanup-info cleanup))))
+                        (mapcar (lambda (lvar-or-cell)
+                                  (if (consp lvar-or-cell)
+                                      (cons (car lvar-or-cell)
+                                            (cont-num (cdr lvar-or-cell)))
+                                      (cont-num lvar-or-cell)))
+                                (cleanup-info cleanup))))
                (t
                 (format t "entry ~S" (entry-exits node))))))
           (exit