[lworld] Integrated: 8366705: [lworld] Re-work of arrays meta-data
Frederic Parain
fparain at openjdk.org
Mon Sep 8 13:52:45 UTC 2025
On Fri, 9 May 2025 19:13:50 GMT, Frederic Parain <fparain at openjdk.org> 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.
This pull request has now been integrated.
Changeset: 94cca4b7
Author: Frederic Parain <fparain at openjdk.org>
URL: https://git.openjdk.org/valhalla/commit/94cca4b78eb5d6ceb6fc47766c03c738893c53a6
Stats: 4662 lines in 164 files changed: 2936 ins; 1063 del; 663 mod
8366705: [lworld] Re-work of arrays meta-data
Co-authored-by: Tobias Hartmann <thartmann at openjdk.org>
Co-authored-by: Coleen Phillimore <coleenp at openjdk.org>
Co-authored-by: Chen Liang <liach at openjdk.org>
Co-authored-by: Matias Saavedra Silva <matsaave at openjdk.org>
Reviewed-by: coleenp, thartmann, dsimms
-------------
PR: https://git.openjdk.org/valhalla/pull/1452
More information about the valhalla-dev
mailing list