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