Request for reviews (XS): 7170145: C1 doesn't respect the JMM with volatile field loads
christian.thalinger at oracle.com
Tue May 22 19:11:15 PDT 2012
On May 22, 2012, at 6:30 PM, Mikael Vidstedt wrote:
> 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...".
Apparently I had too many versions of that text. Thanks.
> On 2012-05-22 17:35, Christian Thalinger wrote:
>> 7170145: C1 doesn't respect the JMM with volatile field loads
>> 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.
More information about the hotspot-compiler-dev