RFR (M): 8000805: JMM issue: short loads are non-atomic
vladimir.x.ivanov at oracle.com
Fri Oct 19 18:35:11 PDT 2012
Yes, I tried to keep the style of corresponding LoadUS rules.
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?
> 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:
> 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