RFR (s): 8208162: Support for multi-dimensional value arrays is incomplete
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:
> 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.
More information about the valhalla-dev