[9] RFR (S): 8150186: Folding mismatched accesses with @Stable is incorrect

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Wed Feb 24 16:06:12 UTC 2016


Constant folding from stable arrays doesn't check for mismatched accesses.

The fix is to disable the optimization for mismatched accesses.

Also, added missing range checks in ciArray::element_value_by_offset.

Testing: failing tests, JPRT

Best regards,
Vladimir Ivanov

PS: I considered converting is_mismatched_access check in 
fold_stable_ary_elem into an assert, but I spotted some quirks in 
mismatched access detection (filed JDK-8150543 [1]). So, I'd prefer to 
keep the check and refine the code as part of JDK-8150543 when more test 
coverage is available.

[1] https://bugs.openjdk.java.net/browse/JDK-8150543

More information about the hotspot-compiler-dev mailing list