0.8.3.70:
[sbcl.git] / src / compiler / srctran.lisp
index 43e8dbe..48eeb34 100644 (file)
                                      (flatten-helper (cdr x) r))))))
     (flatten-helper x nil)))
 
-;;; Take some type of continuation and massage it so that we get a
-;;; list of the constituent types. If ARG is *EMPTY-TYPE*, return NIL
-;;; to indicate failure.
+;;; Take some type of lvar and massage it so that we get a list of the
+;;; constituent types. If ARG is *EMPTY-TYPE*, return NIL to indicate
+;;; failure.
 (defun prepare-arg-for-derive-type (arg)
   (flet ((listify (arg)
           (typecase arg
 ;;; This is used in defoptimizers for computing the resulting type of
 ;;; a function.
 ;;;
-;;; Given the continuation ARG, derive the resulting type using the
+;;; Given the lvar ARG, derive the resulting type using the
 ;;; DERIVE-FUN. DERIVE-FUN takes exactly one argument which is some
-;;; "atomic" continuation type like numeric-type or member-type
-;;; (containing just one element). It should return the resulting
-;;; type, which can be a list of types.
+;;; "atomic" lvar type like numeric-type or member-type (containing
+;;; just one element). It should return the resulting type, which can
+;;; be a list of types.
 ;;;
 ;;; For the case of member types, if a MEMBER-FUN is given it is
 ;;; called to compute the result otherwise the member type is first
 ;;; Same as ONE-ARG-DERIVE-TYPE, except we assume the function takes
 ;;; two arguments. DERIVE-FUN takes 3 args in this case: the two
 ;;; original args and a third which is T to indicate if the two args
-;;; really represent the same continuation. This is useful for
-;;; deriving the type of things like (* x x), which should always be
-;;; positive. If we didn't do this, we wouldn't be able to tell.
+;;; really represent the same lvar. This is useful for deriving the
+;;; type of things like (* x x), which should always be positive. If
+;;; we didn't do this, we wouldn't be able to tell.
 (defun two-arg-derive-type (arg1 arg2 derive-fun fun
                                 &optional (convert-type t))
   (declare (type function derive-fun fun))
       (when (and a1 a2)
        (let ((results nil))
          (if same-arg
-             ;; Since the args are the same continuation, just run
-             ;; down the lists.
+             ;; Since the args are the same LVARs, just run down the
+             ;; lists.
              (dolist (x a1)
                (let ((result (deriver x x same-arg)))
                  (if (listp result)
 ;;;
 ;;; and similar for other arguments.
 
-;;; Try to recursively cut all uses of the continuation CONT to WIDTH
-;;; bits.
+;;; Try to recursively cut all uses of LVAR to WIDTH bits.
 ;;;
 ;;; For good functions, we just recursively cut arguments; their
 ;;; "goodness" means that the result will not increase (in the
   "convert (* x 0) to 0"
   0)
 
-;;; Return T if in an arithmetic op including continuations X and Y,
-;;; the result type is not affected by the type of X. That is, Y is at
+;;; Return T if in an arithmetic op including lvars X and Y, the
+;;; result type is not affected by the type of X. That is, Y is at
 ;;; least as contagious as X.
 #+nil
 (defun not-more-contagious (x y)
 \f
 ;;;; equality predicate transforms
 
-;;; Return true if X and Y are continuations whose only use is a
+;;; Return true if X and Y are lvars whose only use is a
 ;;; reference to the same leaf, and the value of the leaf cannot
 ;;; change.
 (defun same-leaf-ref-p (x y)
        (give-up-ir1-transform
         "The operands might not be the same type."))))
 
-;;; If CONT's type is a numeric type, then return the type, otherwise
+;;; If LVAR's type is a numeric type, then return the type, otherwise
 ;;; GIVE-UP-IR1-TRANSFORM.
 (defun numeric-type-or-lose (lvar)
   (declare (type lvar lvar))
 ;;; "optimizer" (say, DEFOPTIMIZER CONSISTENCY-CHECK).
 ;;;
 ;;; FIXME II: In some cases, type information could be correlated; for
-;;; instance, ~{ ... ~} requires a list argument, so if the
-;;; continuation-type of a corresponding argument is known and does
-;;; not intersect the list type, a warning could be signalled.
+;;; instance, ~{ ... ~} requires a list argument, so if the lvar-type
+;;; of a corresponding argument is known and does not intersect the
+;;; list type, a warning could be signalled.
 (defun check-format-args (string args fun)
   (declare (type string string))
   (unless (typep string 'simple-string)
 ;;; for debugging when transforms are behaving mysteriously,
 ;;; e.g. when debugging a problem with an ASH transform
 ;;;   (defun foo (&optional s)
-;;;     (sb-c::/report-continuation s "S outside WHEN")
+;;;     (sb-c::/report-lvar s "S outside WHEN")
 ;;;     (when (and (integerp s) (> s 3))
-;;;       (sb-c::/report-continuation s "S inside WHEN")
+;;;       (sb-c::/report-lvar s "S inside WHEN")
 ;;;       (let ((bound (ash 1 (1- s))))
-;;;         (sb-c::/report-continuation bound "BOUND")
+;;;         (sb-c::/report-lvar bound "BOUND")
 ;;;         (let ((x (- bound))
 ;;;              (y (1- bound)))
-;;;          (sb-c::/report-continuation x "X")
-;;;           (sb-c::/report-continuation x "Y"))
+;;;          (sb-c::/report-lvar x "X")
+;;;           (sb-c::/report-lvar x "Y"))
 ;;;         `(integer ,(- bound) ,(1- bound)))))
 ;;; (The DEFTRANSFORM doesn't do anything but report at compile time,
 ;;; and the function doesn't do anything at all.)