mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-19 02:00:26 +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:
parent
95855087ec
commit
dd77a818ba
1 changed files with 4 additions and 0 deletions
|
@ -376,6 +376,10 @@ is an active call."
|
||||||
(($ $kargs _ _ ($ $continue _ _ ($ $callk _ proc args)))
|
(($ $kargs _ _ ($ $continue _ _ ($ $callk _ proc args)))
|
||||||
(intset-subtract (intset-add (list->intset args) proc)
|
(intset-subtract (intset-add (list->intset args) proc)
|
||||||
(intmap-ref live-out label)))
|
(intmap-ref live-out label)))
|
||||||
|
(($ $kargs _ _ ($ $continue k _($ $values args)))
|
||||||
|
(match (intmap-ref cps k)
|
||||||
|
(($ $ktail) (list->intset args))
|
||||||
|
(_ #f)))
|
||||||
(_ #f)))
|
(_ #f)))
|
||||||
cps))
|
cps))
|
||||||
(kills (intmap-map
|
(kills (intmap-map
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue