[9] RFR (M): 8143407: C1: @Stable array support

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Feb 19 18:34:19 UTC 2016


http://cr.openjdk.java.net/~vlivanov/8143407/webrev.01
https://bugs.openjdk.java.net/browse/JDK-8143407

Add C1 support for constant folding loads from @Stable arrays.
It aligns C1 & C2 behavior w.r.t. @Stable fields and was requested for 
VarHandles [1] implementation.

I introduced StableArrayConstant to track stable array dimension.

It is needed to disambiguate the following cases:
  (1) @Stable int[][][] intArr = new int[...][...][...];
  (2) @Stable  Object[] objArr = new int[...][...][...];

In the first case, all elements of multi-dimensional array w/ 
non-default values are considered constant.

In the latter, only elements of objArray (which are int[][] instances).

Testing: unit tests on @Stable support, JPRT.

Thanks!

Best regards,
Vladimir Ivanov

[1] http://openjdk.java.net/jeps/193


More information about the hotspot-compiler-dev mailing list