4 Sep 2007 20:14
Re: Compiler hang, sbcl 1.0.8/.9
Juho Snellman <jsnell <at> iki.fi>
2007-09-04 18:14:24 GMT
2007-09-04 18:14:24 GMT
Kevin Reid <kpreid <at> mac.com> writes: > When compiling the following file, SBCL hangs inside SB-C::LIFETIME- > FLOW-ANALYSIS. > > I'm sorry for the unpleasantly large test case, but the failure is > very brittle and I've already cut this down from much larger > generated code which exhibited the problem. This looks like the same issue that James Knight reported a while ago with a provisional patch. It wasn't applied since without a test case it was really hard (at least for me) to figure out whether it was fixing the real root of the problem, or just papering over it. So thank you very much for the test case. Unfortunately I'm going to be very busy with new-job stuff for a while, and probably won't have the time to deal with this. But I wouldn't object to somebody committing the patch now that the test case exists. A fixed version of the patch (I had some trouble with unbalanced parens in the original one):
diff --git a/src/compiler/life.lisp b/src/compiler/life.lisp
index 6a89ee3..ff0ef1c 100644
--- a/src/compiler/life.lisp
+++ b/src/compiler/life.lisp
<at> <at> -521,17 +521,21 <at> <at>
(add-global-conflict :live tn block1 nil)
(setq did-something t))
(when (eq (global-conflicts-block current) block1)
- (case (global-conflicts-kind current)
- (:live)
+ (ecase (global-conflicts-kind current)
+ (:live
+ (setf (tn-current-conflict tn) current))
(:read-only
(setf (global-conflicts-kind current) :live)
(setf (svref (ir2-block-local-tns block1)
(global-conflicts-number current))
nil)
- (setf (global-conflicts-number current) nil))
- (t
+ (setf (global-conflicts-number current) nil)
+ (setf (tn-current-conflict tn) current))
+ (:read
+ (setf (sbit live-in (global-conflicts-number current)) 1)
+ (setf (tn-current-conflict tn) current))
+ (:write
(setf (sbit live-in (global-conflicts-number current)) 1)))
- (setf (tn-current-conflict tn) current)
(return)))))
(:write)))
did-something))
-- -- Juho Snellman
------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________ Sbcl-devel mailing list Sbcl-devel <at> lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sbcl-devel
RSS Feed