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

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


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.


Best regards,
Vladimir Ivanov

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

More information about the hotspot-compiler-dev mailing list