guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 13/27: Treat tail $values as generating lazy allocations


From: Andy Wingo
Subject: [Guile-commits] 13/27: Treat tail $values as generating lazy allocations
Date: Wed, 11 Nov 2015 11:39:11 +0000

wingo pushed a commit to branch master
in repository guile.

commit dd77a818ba6aefc98a78d03dec61454546992671
Author: Andy Wingo <address@hidden>
Date:   Wed Oct 28 13:33:37 2015 +0000

    Treat tail $values as generating lazy allocations
    
    * module/language/cps/slot-allocation.scm (compute-lazy-vars): Returning
      values in tail position also generates lazy vars.
---
 module/language/cps/slot-allocation.scm |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/module/language/cps/slot-allocation.scm 
b/module/language/cps/slot-allocation.scm
index b306898..1e349ee 100644
--- a/module/language/cps/slot-allocation.scm
+++ b/module/language/cps/slot-allocation.scm
@@ -376,6 +376,10 @@ is an active call."
                     (($ $kargs _ _ ($ $continue _ _ ($ $callk _ proc args)))
                      (intset-subtract (intset-add (list->intset args) proc)
                                       (intmap-ref live-out label)))
+                    (($ $kargs _ _ ($ $continue k _($ $values args)))
+                     (match (intmap-ref cps k)
+                       (($ $ktail) (list->intset args))
+                       (_ #f)))
                     (_ #f)))
                 cps))
          (kills (intmap-map



reply via email to

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