RFR (M): 8000805: JMM issue: short loads are non-atomic

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Oct 19 18:35:11 PDT 2012


Vitaly,

Yes, I tried to keep the style of corresponding LoadUS rules.

Best regards,
Vladimir Ivanov

On 10/20/12 3:22 AM, Vitaly Davidovich wrote:
> Hi Vladimir,
>
> Just curious - in the ad files you didn't put ins_cost() for most of the
> new matches, is that intentional?
>
> Thanks
>
> Sent from my phone
>
> On Oct 19, 2012 2:40 PM, "Vladimir Ivanov" <vladimir.x.ivanov at oracle.com
> <mailto:vladimir.x.ivanov at oracle.com>> wrote:
>
>     http://cr.openjdk.java.net/~__vlivanov/8000805/webrev.00/
>     <http://cr.openjdk.java.net/~vlivanov/8000805/webrev.00/>
>     282 lines changed: 255 ins; 27 del; 0 mod
>
>     Ideal transformations during parsing & IGVN may rematerialize loads
>     in order to reify useful information (like signed/unsigned load).
>     Such behavior breaks JMM - instead of a single atomic load, multiple
>     loads are performed violating consistency of loaded data.
>
>     The fix is to disable such transformations at all, but perform
>     relevant optimizations during matching.
>
>     It fixes only C2 part of problem. С1 has similar deficiency, but
>     it'll be addressed separately.
>
>     Testing: failing test, test for new matching rules, JPRT, CTW (x86,
>     x64 & sparc).
>
>     Best regards,
>     Vladimir Ivanov
>


More information about the hotspot-compiler-dev mailing list