(visit-fun fun))
(define (eliminate-dead-code fun)
- (let ((fun (renumber fun)))
- (with-fresh-name-state fun
- (call-with-values (lambda () (compute-live-code fun))
- (lambda (fun-data-table live-vars)
- (process-eliminations fun fun-data-table live-vars))))))
+ (call-with-values (lambda () (renumber fun))
+ (lambda (fun nlabels nvars)
+ (parameterize ((label-counter nlabels)
+ (var-counter nvars))
+ (call-with-values (lambda () (compute-live-code fun))
+ (lambda (fun-data-table live-vars)
+ (process-eliminations fun fun-data-table live-vars)))))))
(visit-cont entry))))
(visit-funs compute-names-in-fun fun)
- (values labels vars)))))
+ (values labels vars next-label next-var)))))
(define (renumber fun)
(call-with-values (lambda () (compute-new-labels-and-vars fun))
- (lambda (labels vars)
+ (lambda (labels vars nlabels nvars)
(define (relabel label) (vector-ref labels label))
(define (rename var) (vector-ref vars var))
(define (rename-kw-arity arity)
(rewrite-cps-exp fun
(($ $fun src meta free body)
($fun src meta (map rename free) ,(must-visit-cont body)))))
- (visit-fun fun))))
+ (values (visit-fun fun) nlabels nvars))))