On Fri, 5 Sep 2025 15:02:45 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 incrementally with one > additional commit since the last revision: > > Fix style test/hotspot/jtreg/ProblemList.txt line 284: > 282: > 283: runtime/valhalla/inlinetypes/ValuePreloadTest.java 8366440 generic-all > 284: runtime/verifier/CFLH/TestVerify.java 8366440 generic-all These two have been fixed by [8366440](https://bugs.openjdk.org/browse/JDK-8366440) ------------- PR Review Comment: https://git.openjdk.org/valhalla/pull/1452#discussion_r2325387396
