~ chicken-core (chicken-5) bf5c355fd8f3e81798d0072370fd51459d38a2f1


commit bf5c355fd8f3e81798d0072370fd51459d38a2f1
Author:     unknown <felix@.(none)>
AuthorDate: Thu Nov 5 09:53:42 2009 +0100
Commit:     unknown <felix@.(none)>
CommitDate: Thu Nov 5 09:53:42 2009 +0100

    fixed bug in optimizer (#99) (reported by Joerg Wittenberger) related to inlining

diff --git a/support.scm b/support.scm
index 8cac05bd..7501f664 100644
--- a/support.scm
+++ b/support.scm
@@ -608,7 +608,12 @@
 	    [params (node-parameters n)]
 	    [class (node-class n)] )
 	(case class
-	  [(##core#variable) (varnode (rename (first params) rl))]
+	  [(##core#variable) 
+	   (let ((var (first params)))
+	     (when (get db var 'contractable)
+	       (debugging 'x "un-marking contractable" var) 
+	       (put! db var 'contractable #f) )
+	     (varnode (rename var rl))) ]
 	  [(set!) 
 	   (make-node
 	    'set! (list (rename (first params) rl))
Trap