RFR (M): 8000805: JMM issue: short loads are non-atomic
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Mon Oct 22 08:09:24 PDT 2012
Updated version: http://cr.openjdk.java.net/~vlivanov/8000805/webrev.01/
Removed changes in AD files and perform transforms during IGVN phase
when Load has a single user.
Best regards,
Vladimir Ivanov
On 10/19/12 22:39, Vladimir Ivanov wrote:
> 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