racket/pkgs/racket-doc/scribblings/raco
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
..
api.scrbl
bundle-api.scrbl
c-mods.scrbl
cc.scrbl
command.scrbl
common.rkt
config.scrbl
ctool.scrbl
decompile.scrbl
demod.scrbl
dist-api.scrbl
dist.scrbl
docs.scrbl
exe-api.scrbl
exe.scrbl
expand.scrbl
ext.scrbl
info.rkt
info.scrbl
launcher.scrbl
link.scrbl
make.scrbl compiler/cm-accomplice: adjust protocol for extra options 2015-01-09 11:31:35 -07:00
pkg.scrbl
planet.scrbl
plt.scrbl
raco.scrbl
scribble.scrbl
setup.scrbl doc tweaks for raco {setup,make} 2015-01-08 09:11:38 -07:00
test.scrbl
unpack.scrbl
zo-parse.scrbl
zo-struct.scrbl track whether a closure uses syntax objects 2015-01-19 21:29:55 -07:00