[racket-dev] [plt] Push #28576: master branch updated
At Sat, 19 Apr 2014 17:36:40 -0400, Vincent St-Amour wrote:
> At Sat, 19 Apr 2014 13:19:25 -0400,
> mflatt at racket-lang.org wrote:
> > a01b12e Matthew Flatt <mflatt at racket-lang.org> 2014-04-19 10:11
> > :
> > | optimizer: don't move expressions into a `with-continuation-mark`
> > |
> > | ... unless the optimizer can prove that the expression doesn't
> > | inspect continuation marks.
> > :
> > M pkgs/racket-pkgs/racket-test/tests/racket/optimize.rktl | 12 +++++++++++-
> > M racket/src/racket/src/optimize.c | 5 +++++
>
> This optimization can be observed from another thread, like a profiler's
> sampling thread, even if the relevant code doesn't observe continuation
> marks itself.
Right: If there's some synchronization point within the expression so
that you could reliably observe the thread at that point, then the
expression doesn't get moved relative to marks.