> 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:

  Remove commented code

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

Changes:
  - all: https://git.openjdk.org/valhalla/pull/1452/files
  - new: https://git.openjdk.org/valhalla/pull/1452/files/c3327d60..b27def57

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=1452&range=05
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=1452&range=04-05

  Stats: 1 line in 1 file changed: 0 ins; 1 del; 0 mod
  Patch: https://git.openjdk.org/valhalla/pull/1452.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1452/head:pull/1452

PR: https://git.openjdk.org/valhalla/pull/1452

Reply via email to