Aleksey, thanks for your explanation. By the way, your presentation (I mean slides) is great- when it comes to the content and not only :-).
W dniu środa, 16 maja 2018 19:33:22 UTC+2 użytkownik John Hening napisał: > > The following picture comes from: > https://shipilev.net/blog/2014/jmm-pragmatics/ > > <https://shipilev.net/blog/2014/jmm-pragmatics/page-101.png> > > As I understand this slide points that JMM does not constitute that a > volatile write does not work as a (Load/Store)Store barrier, and it doesn't > in fact. > > > But, JVM is allowed to reorder a such situation only in special cases, > when the execution will be *equivalent as if write(x,1) wouldn't be > reorderd with release(g)*. In another words, here that reordering is > allowed if and only if JVM is able to prove that it is equivalent to the > situation without reordering. > > > The question is: > > So, for considering *correctness* of program (and only *correctness*) can > we assume that volatile store works as (Load/Store)Store barrier in fact? > > > However, a such simpilified view doesn't explain why JVM is able in some > cases to hostile: > > > volatile x; > for(..) > x += 1; > > > What do you think? > -- You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group. To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.