0.pre7.14.flaky4.11:
[sbcl.git] / src / compiler / byte-comp.lisp
index cc8a999..63e9885 100644 (file)
 
 (in-package "SB!C")
 
-;;;; the fasl file format that we use
-(defconstant byte-fasl-file-version 3)
-;;; 1 = before about sbcl-0.6.9.8
-;;; 2 = merged package SB-CONDITIONS into SB-KERNEL around sbcl-0.6.9.8
-;;; 3 = deleted obsolete CONS-UNIQUE-TAG bytecode in sbcl-0.6.11.8
-
 ;;; ### remaining work:
 ;;;
 ;;; - add more inline operations.
     (def-system-constant 14 '(%fdefinition-marker% . %negate))
     (def-system-constant 15 '(%fdefinition-marker% . %%defun))
     (def-system-constant 16 '(%fdefinition-marker% . %%defmacro))
-    (def-system-constant 17 '(%fdefinition-marker% . %%defconstant))
+    ;; no longer used as of sbcl-0.pre7:
+    #+nil (def-system-constant 17 '(%fdefinition-marker% . %%defconstant))
     (def-system-constant 18 '(%fdefinition-marker% . length))
     (def-system-constant 19 '(%fdefinition-marker% . equal))
     (def-system-constant 20 '(%fdefinition-marker% . append))
                (ecase (cleanup-kind (nlx-info-cleanup nlx-info))
                  ((:catch :unwind-protect)
                   (consume :nlx-entry))
-                 ;; If for a lexical exit, we will see a breakup later, so
-                 ;; don't consume :NLX-ENTRY now.
+                 ;; If for a lexical exit, we will see a breakup
+                 ;; later, so don't consume :NLX-ENTRY now.
                  (:tagbody)
                  (:block
                   (let ((cont (nlx-info-continuation nlx-info)))
 ;;; we reach the mess-up node. After then, we can keep the values from
 ;;; being discarded by placing a marker on the simulated stack.
 (defun byte-stack-analyze (component)
+  (declare (notinline find)) ; to avoid bug 117 bogowarnings
   (let ((head nil))
     (let ((*byte-continuation-counter* 0))
       (do-blocks (block component)
 ;;; values to a continuation. If this continuation needs a type check,
 ;;; and has a single value, then we do a type check. We also
 ;;; CANONICALIZE-VALUES for the continuation's desired number of
-;;; values (w/o the placeholders.)
+;;; values (without the placeholders.)
 ;;;
 ;;; Somewhat unrelatedly, we also push placeholders for deleted
 ;;; arguments to local calls. Although we check first, the actual
            (output-push-fdefinition
             segment
             (if (and found
-                     (= (length (combination-args (continuation-dest cont)))
+                     (= (length (basic-combination-args
+                                 (continuation-dest cont)))
                         2))
                 found
                 name))))
   ;; Process all of the lambdas in component, and assign stack frame
   ;; locations for all the locals.
   (dolist (lambda (component-lambdas component))
-    ;; We don't generate any code for :external lambdas, so we don't need
-    ;; to allocate stack space. Also, we don't use the ``more'' entry,
-    ;; so we don't need code for it.
+    ;; We don't generate any code for :EXTERNAL lambdas, so we don't
+    ;; need to allocate stack space. Also, we don't use the ``more''
+    ;; entry, so we don't need code for it.
     (cond
      ((or (eq (lambda-kind lambda) :external)
          (and (eq (lambda-kind lambda) :optional)
   ;; stay in the argument area and which need to be moved into locals.
   (assign-locals component)
 
-  ;; Annotate every continuation with information about how we want the
-  ;; values.
+  ;; Annotate every continuation with information about how we want
+  ;; the values.
   (annotate-ir1 component)
 
-  ;; Determine what stack values are dead, and emit cleanup code to pop
-  ;; them.
+  ;; Determine what stack values are dead, and emit cleanup code to
+  ;; pop them.
   (byte-stack-analyze component)
 
   ;; Make sure any newly added blocks have a block-number.
              (describe-byte-component component xeps segment
                                       *compiler-trace-output*))
            (etypecase *compile-object*
-             (fasl-file
+             (fasl-output
               (maybe-mumble "FASL")
               (fasl-dump-byte-component segment code-length constants xeps
                                         *compile-object*))