[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