1
Fork 0
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:
Andy Wingo 2015-06-05 17:10:29 +02:00
parent 6f4487f268
commit f41823538a

View file

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