Request for reviews (XS): 7170145: C1 doesn't respect the JMM with volatile field loads

Mikael Vidstedt mikael.vidstedt at oracle.com
Tue May 22 18:30:26 PDT 2012


Two typos:

145 // This is actually too strict and the JMM doesn't requires
146 // this is all cases (e.g. load a; volatile store b; load a)

should probably be "JMM doesn't _require_ this _in_ all cases...".

Cheers,
Mikael


On 2012-05-22 17:35, Christian Thalinger wrote:
> http://cr.openjdk.java.net/~twisti/7170145
>
> 7170145: C1 doesn't respect the JMM with volatile field loads
> Reviewed-by:
>
> ValueNumberingVisitor::do_LoadField does not include logic for
> volatile fields which allows CSE of normal field loads across volatile
> field loads.  That's explicitly prohibited by the JMM.
>
> This patch also kills the memory across volatile field stores even it
> is too strict for now because of volatile field stores and possible
> future optimizations.
>
> src/share/vm/c1/c1_ValueMap.hpp
>



More information about the hotspot-compiler-dev mailing list