Correct handling of procedure env roots in mutator
This commit is contained in:
parent
a744958fd5
commit
05832af083
|
@ -178,8 +178,8 @@
|
|||
(quasisyntax/loc stx
|
||||
(let ([closure (lambda (id ...)
|
||||
(syntax-parameterize ([mutator-env-roots
|
||||
(list* #'id ...
|
||||
(syntax-parameter-value #'mutator-env-roots))]
|
||||
(list #'id ...
|
||||
#'free-id ...)]
|
||||
[mutator-tail-call? #t])
|
||||
(->address body)))])
|
||||
(add-closure-env! closure (list (make-env-root free-id) ...))
|
||||
|
|
12
collects/tests/plai/gc/good-mutators/danny-bug.rkt
Normal file
12
collects/tests/plai/gc/good-mutators/danny-bug.rkt
Normal file
|
@ -0,0 +1,12 @@
|
|||
#lang plai/mutator
|
||||
(allocator-setup "../good-collectors/good-collector.rkt" 6)
|
||||
|
||||
(define
|
||||
proc
|
||||
(let* ([not-root 1] ; 2
|
||||
[root 2]) ; 4
|
||||
(lambda () ; 6
|
||||
3
|
||||
root)))
|
||||
|
||||
(proc)
|
Loading…
Reference in New Issue
Block a user