mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-22 20:40:29 +02:00
Renumber before contifying to eliminate stale conts
* module/language/cps2/contification.scm (contify): Renumber before contifying.
This commit is contained in:
parent
6f4487f268
commit
f41823538a
1 changed files with 7 additions and 2 deletions
|
@ -466,5 +466,10 @@ function set."
|
||||||
conts)))
|
conts)))
|
||||||
|
|
||||||
(define (contify conts)
|
(define (contify conts)
|
||||||
|
;; 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)))
|
(let-values (((call-substs return-substs) (compute-contification conts)))
|
||||||
(apply-contification conts call-substs return-substs)))
|
(apply-contification conts call-substs return-substs))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue