~ chicken-core (chicken-5) 61f45f868f83c08fb4f88d8c8ce3bf64a32c4413


commit 61f45f868f83c08fb4f88d8c8ce3bf64a32c4413
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Dec 2 14:24:12 2009 +0100
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Wed Dec 2 14:24:12 2009 +0100

    possible fix for optimizer bug in #138

diff --git a/optimizer.scm b/optimizer.scm
index b543069c..9becaf38 100644
--- a/optimizer.scm
+++ b/optimizer.scm
@@ -569,6 +569,8 @@
 	      [subs (node-subexpressions body)] )
 	  (and (eq? c 'let)
 	       (null? (cdr params))
+               (not (get db (first params) 'inline-transient))
+               (not (get db (first params) 'references))
 	       (let* ([val (first subs)]
 		      [valparams (node-parameters val)]
 		      [valsubs (node-subexpressions val)] )
@@ -771,7 +773,7 @@
 		  body
 		  sgraph) ] )
 	    (cond [(pair? optimized)
-		   (debugging 'o "eliminated assignments" optimized)
+		   (debugging 'o "converted assignments to bindings" optimized)
 		   (values n2 #t) ]
 		  [else (values n2 #f)] ) ) ) ) ) ) )
 
Trap