1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-18 17:50:29 +02:00

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.
This commit is contained in:
Andy Wingo 2015-10-28 13:33:37 +00:00
parent 95855087ec
commit dd77a818ba

View file

@ -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