0.9.16.42:
authorJuho Snellman <jsnell@iki.fi>
Wed, 20 Sep 2006 14:50:40 +0000 (14:50 +0000)
committerJuho Snellman <jsnell@iki.fi>
Wed, 20 Sep 2006 14:50:40 +0000 (14:50 +0000)
        Always update TN-CURRENT-CONFLICT after the innermost loop of
        PROPAGATE-LIVE-TNS has found a match, and not just every time
        it converts a :READ conflict to a :LIVE conflict. This avoids
        useless travelsals over the tnwise global-conflicts chain, speeding
        up compilation when there are lots of global conflicts (for
        example on (DEBUG 3)). Thanks to David Lichteblau.

src/compiler/life.lisp
version.lisp-expr

index 6502bc2..8d81428 100644 (file)
                   (setf (svref (ir2-block-local-tns block1)
                                (global-conflicts-number current))
                         nil)
-                  (setf (global-conflicts-number current) nil)
-                  (setf (tn-current-conflict tn) current))
+                  (setf (global-conflicts-number current) nil))
                  (t
                   (setf (sbit live-in (global-conflicts-number current)) 1)))
+               (setf (tn-current-conflict tn) current)
                (return)))))
         (:write)))
     did-something))
index c0f797a..2ac1030 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.9.16.41"
+"0.9.16.42"