[lworld] RFR: 8320437: [lworld] Adding internal null-restricted storage API points [v3]

Tobias Hartmann thartmann at openjdk.org
Mon Dec 4 09:47:31 UTC 2023


On Wed, 29 Nov 2023 14:31:41 GMT, Frederic Parain <fparain at openjdk.org> wrote:

>> test/hotspot/jtreg/runtime/valhalla/inlinetypes/ClassInitializationFailuresTest.java line 134:
>> 
>>> 132:         Asserts.assertTrue(e.getClass() == NoClassDefFoundError.class, "Must be a NoClassDefFoundError");
>>> 133:         Asserts.assertTrue(e.getCause().getClass() == ExceptionInInitializerError.class, "Must be an ExceptionInInitializerError");
>>> 134:         // Transition model (annotations and array factory) doesn't permit multi-dimentional arrays tests
>> 
>> Shouldn't we support multi-dimensional arrays as well? Or are there any blockers?
>
> The new API to create flat arrays only supports single-dimension arrays. But because multi-dimensional arrays are basically a set of reference arrays with only the last-dimension array being an array of the element type, it is possible to create manually multi-dimensional arrays on top of this API.
> Those tests were checking the behavior of `multianewarray` but with the removal of Q-descriptors, this bytecode cannot be used to create multi-dimensional arrays with a flat last-dimension array.

Right, I got confused here. Thanks for the clarification!

-------------

PR Review Comment: https://git.openjdk.org/valhalla/pull/947#discussion_r1413608720



More information about the valhalla-dev mailing list