RFR (s): 8208162: Support for multi-dimensional value arrays is incomplete
John Rose
john.r.rose at oracle.com
Wed Jul 25 23:15:45 UTC 2018
On Jul 25, 2018, at 3:16 AM, David Simms <david.simms at oracle.com> wrote:
>
> Greetings,
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8208162
>
> Webrev: http://cr.openjdk.java.net/~dsimms/valhalla/8208162/
>
> I believe the intention of the "ObjArrayKlass::_bottom_klass" field was always to hold an instance klass that contained user class that might require a number of checks, e.g. access checking for reflection, module access etc...
>
> A value of "typeArrayKlass" simply denoted, "system type". I believe assigning a valueArrayKlass to this field to be incorrect, the fix is simply to pick out the valueArrayKlass element type as "bottom klass"
>
> Testing: internal tier1, and Ioi's consistency tests now exhibit correct behavior.
It's a long-standing oddity of HotSpot that primitive types don't
have metadata. This makes types like int[][][] different in confusing
detail from almost-identical types like String[][][]. So, from some
points of view int[][][] has a depth of 2 while String[][][] has a depth
of 3. It's something we live with, like hereditary baldness.
— John
More information about the valhalla-dev
mailing list