![]() 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. |
||
---|---|---|
.. | ||
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 | ||
pkg.scrbl | ||
planet.scrbl | ||
plt.scrbl | ||
raco.scrbl | ||
scribble.scrbl | ||
setup.scrbl | ||
test.scrbl | ||
unpack.scrbl | ||
zo-parse.scrbl | ||
zo-struct.scrbl |