guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] 01/01: Renumber before contifying to eliminate stale con


From: Andy Wingo
Subject: [Guile-commits] 01/01: Renumber before contifying to eliminate stale conts
Date: Fri, 05 Jun 2015 15:22:59 +0000

wingo pushed a commit to branch master
in repository guile.

commit f41823538a3a35c32bb0d4f23092e37f43d57f1f
Author: Andy Wingo <address@hidden>
Date:   Fri Jun 5 17:10:29 2015 +0200

    Renumber before contifying to eliminate stale conts
    
    * module/language/cps2/contification.scm (contify): Renumber before 
contifying.
---
 module/language/cps2/contification.scm |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/module/language/cps2/contification.scm 
b/module/language/cps2/contification.scm
index b9944a4..e15544a 100644
--- a/module/language/cps2/contification.scm
+++ b/module/language/cps2/contification.scm
@@ -466,5 +466,10 @@ function set."
     conts)))
 
 (define (contify conts)
-  (let-values (((call-substs return-substs) (compute-contification conts)))
-    (apply-contification conts call-substs return-substs)))
+  ;; FIXME: Renumbering isn't really needed but dead continuations may
+  ;; cause compute-singly-referenced-labels to spuriously mark some
+  ;; conts as irreducible.  For now we punt and renumber so that there
+  ;; are only live conts.
+  (let ((conts (renumber conts)))
+    (let-values (((call-substs return-substs) (compute-contification conts)))
+      (apply-contification conts call-substs return-substs))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]