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