racket/pkgs/racket-test-core
Matthew Flatt f19d655cbc fix optimizer bug related to single-use functions
Fix problem with once-use tracking and delayed variable-use marking
that is performed for local function bodies. A delayed variable-use
registration might happen after a once-used variable is replaced by
its use.

This scenario is difficult to provoke, because the optimizer has to
first decide not to move a once-use function, and in a latter pass
decide to move it after all. There's not enough information to
retract the tentative use plus its transitive implications.

The solution is to avoid the generic once-use layer for `lambda` forms
whose uses are delayed (and that likely has a good effect on inlining
anyway). The other half of the solution is to avoid transitive use
marking on a once-used variable whose expression has been moved (and
there are no transitive things to skip, because that expression isn't
a `lambda` form).
2017-02-26 08:58:36 -07:00
..
mzlib Finish fixing dependencies of "racket-test-core". 2014-12-19 11:35:39 -05:00
tests/racket fix optimizer bug related to single-use functions 2017-02-26 08:58:36 -07:00
info.rkt Remove stray unstable dependency. 2015-09-14 16:54:06 -05:00
LICENSE.txt update copyright year to 2017 2017-01-02 06:42:31 -07:00