At Sat, 19 Apr 2014 17:36:40 -0400, Vincent St-Amour wrote: > At Sat, 19 Apr 2014 13:19:25 -0400, > mfl...@racket-lang.org wrote: > > a01b12e Matthew Flatt <mfl...@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. _________________________ Racket Developers list: http://lists.racket-lang.org/dev