fix great awlful memory leak in scribble's collect phase (which was exposed most clearly by the web-server tutorial); change in.sxref to be use fasl (bytecode) format

svn: r11989

original commit: 95fa65b7b3cb06cf4c8daf40d92f61783fec4f77
This commit is contained in:
Matthew Flatt 2008-10-11 14:50:22 +00:00
parent 2e8e8fb730
commit 6d37b145df

View File

@ -376,19 +376,16 @@
(hash-ref
checkers lib
(lambda ()
(let ([ns (make-base-empty-namespace)])
(parameterize ([current-namespace ns])
(namespace-require `(for-label ,lib)))
(let ([ns-id
(let ([ns (make-base-empty-namespace)])
(parameterize ([current-namespace ns])
(namespace-require `(for-label ,lib))
(namespace-syntax-introduce (datum->syntax #f 'x))))])
(let ([checker
(lambda (id)
(parameterize ([current-namespace
ns])
(free-label-identifier=?
(namespace-syntax-introduce
(datum->syntax
#f
(syntax-e id)))
id)))])
(free-label-identifier=?
(datum->syntax ns-id (syntax-e id))
id))])
(hash-set! checkers lib checker)
checker))))])
(and (checker id) lib)))