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 (hash-ref
checkers lib checkers lib
(lambda () (lambda ()
(let ([ns (make-base-empty-namespace)]) (let ([ns-id
(parameterize ([current-namespace ns]) (let ([ns (make-base-empty-namespace)])
(namespace-require `(for-label ,lib))) (parameterize ([current-namespace ns])
(namespace-require `(for-label ,lib))
(namespace-syntax-introduce (datum->syntax #f 'x))))])
(let ([checker (let ([checker
(lambda (id) (lambda (id)
(parameterize ([current-namespace (free-label-identifier=?
ns]) (datum->syntax ns-id (syntax-e id))
(free-label-identifier=? id))])
(namespace-syntax-introduce
(datum->syntax
#f
(syntax-e id)))
id)))])
(hash-set! checkers lib checker) (hash-set! checkers lib checker)
checker))))]) checker))))])
(and (checker id) lib))) (and (checker id) lib)))