racket/pkgs/racket-doc
Matthew Flatt 3eef017911 track whether a closure uses syntax objects
For GC purposes, if a "prefix" (a closure frame that caprues
top-level or module-level bindings) may refer to syntax objects
that are not used by any reachable closure, in which case the
syntax object can be dropped. This pruning of syntax objects
uses the infrastructure already in place to prune variables.

Syntax objects were not included in the original pruning
implementation, because they are unlikely to create
finalization cycles in the way that global-variable
references can. A syntax object can retain a namespace's
table of module imports, however, which can be substantial
and worth releasing of a closure is only held, say, for
a low-level finalization action.
2015-01-19 21:29:55 -07:00
..
compatibility
dynext
ffi/examples remove bogus path in FFI example 2014-12-29 07:24:04 -07:00
file
help
json
openssl
pkg raco pkg: another attempt to fix git commands for an update 2015-01-16 09:28:31 -07:00
scribblings track whether a closure uses syntax objects 2015-01-19 21:29:55 -07:00
syntax
unstable
version
xml
info.rkt
LICENSE.txt