1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-23 20:05:32 +02:00

Fix slot allocation bug

* module/language/cps/slot-allocation.scm (allocate-slots): Fix
  dead-after-use computation to use the expression's label and not its
  continuation.
This commit is contained in:
Andy Wingo 2013-10-05 15:57:54 +02:00
parent f8fb13ef8c
commit 61c7264fcc

View file

@ -340,8 +340,9 @@ are comparable with eqv?. A tmp slot may be used."
(define (visit-exp exp label k live-set) (define (visit-exp exp label k live-set)
(define (use sym live-set) (define (use sym live-set)
(if (and (lookup-slot sym allocation) (dead-after-use? sym k dfg)) (if (and (and=> (lookup-slot sym allocation) (cut > <> nargs))
(dead sym k live-set) (dead-after-use? sym label dfg))
(dead sym label live-set)
live-set)) live-set))
(match exp (match exp