On Wed, 3 Sep 2025 14:43:55 GMT, Frederic Parain <[email protected]> wrote:

>> Since the removal of Q-types and the notion that nullability was not part of 
>> the Java type, there was an awkward situation because nullable arrays of 
>> value types and null free arrays of value types had each a different Java 
>> mirror when they were in fact supposed to have the same Java type.
>> In order to accommodate to the new situation, that arrays can have 
>> properties (nullability, flatness, atomicity, etc.) that are not part of 
>> their Java type, the 1-1 relationship between the *ArrayKlass and the Java 
>> mirror must be broken.
>> The proposed solution is to dedicate one instance of ObjArrayKlass to 
>> represent the Java type of the array in the JVM, and have this instance 
>> being the counterpart of the Java mirror of the array, and have several 
>> instances of RefArrayKlass and FlatArrayKlass that represent the refinements 
>> of the Java array type. Each RefArrayKlass/FlatArrayKlass encodes the 
>> characteristic of a Java array for a given element type and a set of 
>> properties.
>
> Frederic Parain has updated the pull request with a new target base due to a 
> merge or a rebase. The pull request now contains 67 commits:
> 
>  - Merge branch 'array_klasses' of github.com:fparain/valhalla into 
> array_klasses
>  - Forgot a TODO
>  - Small cleanup
>  - Merge remote-tracking branch 'upstream/lworld' into array_klasses
>  - Moved get_Klass() back to protected and updated usages
>  - Merge branch 'array_klasses' of github.com:fparain/valhalla into 
> array_klasses
>  - Linked TODOs to JDK-8366668
>  - Multidim array fix
>  - Cleanup T_FLAT_ELEMENT related code
>  - Fix for isAssignableFrom + tests
>  - ... and 57 more: 
> https://git.openjdk.org/valhalla/compare/22e9d5f5...527a17b6

Marked as reviewed by thartmann (Committer).

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

PR Review: 
https://git.openjdk.org/valhalla/pull/1452#pullrequestreview-3183646545

Reply via email to