[racket-dev] [plt] Push #28576: master branch updated

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat Apr 19 21:41:49 EDT 2014

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.



Posted on the dev mailing list.