0.pre8.111:
authorAlexey Dejneka <adejneka@comail.ru>
Sun, 27 Apr 2003 05:50:40 +0000 (05:50 +0000)
committerAlexey Dejneka <adejneka@comail.ru>
Sun, 27 Apr 2003 05:50:40 +0000 (05:50 +0000)
        * fast version of CONSTANT-FOLD-CALL flushes dead combination.

src/compiler/ir1opt.lisp
src/compiler/ir1util.lisp
version.lisp-expr

index 2ffc385..d91e2ca 100644 (file)
                                                   :lossage-fun nil
                                                   :unwinnage-fun nil))
                               (ir1-attributep attr unsafely-flushable)))
-                (flush-dest (combination-fun node))
-                (dolist (arg (combination-args node))
-                  (flush-dest arg))
-                (unlink-node node))))))
+                 (flush-combination node))))))
        (mv-combination
         (when (eq (basic-combination-kind node) :local)
           (let ((fun (combination-lambda node)))
                  (setf (continuation-next cont) next)
                  ;; FIXME: type checking?
                  (reoptimize-continuation cont)
-                 (reoptimize-continuation prev))))
+                 (reoptimize-continuation prev)
+                 (flush-combination call))))
             (t (let ((dummies (make-gensym-list (length args))))
                  (transform-call
                   call
index 6805e4f..b331c40 100644 (file)
          (setf (continuation-asserted-type cont) *wild-type*)
           (setf (continuation-type-to-check cont) *wild-type*)
          (values))))))
+
+(defun flush-combination (combination)
+  (declare (type combination combination))
+  (flush-dest (combination-fun combination))
+  (dolist (arg (combination-args combination))
+    (flush-dest arg))
+  (unlink-node combination)
+  (values))
+
 \f
 ;;;; leaf hackery
 
index 1d128af..39f7853 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.pre8.110"
+"0.pre8.111"