RFR (XS): 8004867: VM crashing with assert "share/vm/opto/node.hpp:357 - assert(i < _max) failed: oob"

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Feb 13 19:48:34 PST 2013


http://cr.openjdk.java.net/~kvn/8004867/webrev/

Superword code in SuperWord::mem_slice_preds() does not expect SCMemProj 
nodes on memory path. These nodes came from AtomicLong.attemptUpdate 
intrinsic. The intrinsic was removed in jdk7u14 and jdk8 and the problem 
is not reproduced with latest sources because the remaining usages of 
LoadStore/SCMemProj nodes are guarded by membars (for example, 
inline_unsafe_load_store intrinsics). Loops with membars, safepoints and 
control nodes are not vectorized by superword optimization.

Added few checks and early bailout from Superword optimization to avoid 
such cases in a future.

Added several jtreg tests for unsafe and atomic operations in unrolled 
loops.

Ran all compiler regression tests, ctw and JPRT with -rtests.

Thanks,
Vladimir






More information about the hotspot-compiler-dev mailing list