RFR(XS) 8076523: assert(((ABS(iv_adjustment_in_bytes) % elt_size) == 0)) fails in superword.cpp

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Apr 2 22:33:45 UTC 2015


http://cr.openjdk.java.net/~kvn/8076523/webrev/
https://bugs.openjdk.java.net/browse/JDK-8076523

The problem was caused by JDK-8026049 changes. Vectorization assumes 
that offset in array is aligned to size of memory operations (which 
access element of array). With UseUnalignedAccesses Long load/store 
operations could be used to access byte[] array without alignment to 
sizeof(jlong).

Vectorization has code which verifies alignment - it should be adjusted 
to check that offset % mem_oper_size == 0.

Fix tested with failed tests and JPRT.

Thanks,
Vladimir


More information about the hotspot-compiler-dev mailing list