From: Juho S. <js...@us...> - 2006-09-20 14:50:47
|
Update of /cvsroot/sbcl/sbcl/src/compiler In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv9048/src/compiler Modified Files: life.lisp Log Message: 0.9.16.42: 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. Index: life.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/life.lisp,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- life.lisp 14 Jul 2005 18:57:00 -0000 1.14 +++ life.lisp 20 Sep 2006 14:50:40 -0000 1.15 @@ -514,10 +514,10 @@ (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)) |