> Different array layouts result in distinct array klass metadata which are 
> stored in a linked list with the base ObjArrayKlass acting as the head. 
> Multiple layouts are currently uncommon, so this assert was sufficient:
> 
> `assert(objarray_k == k || objarray_k->next_refined_array_klass() == k) 
> failed: must be`
> 
> This assert is not correct since `k` could refer to another refined array 
> klass further down the linked list. This patch corrects this assert by adding 
> a find method to iterate through the linked list in case there are multiple 
> layouts for the same type. A new test was added to catch this failure. 
> Verified with tier 1-5 tests.

Matias Saavedra Silva has updated the pull request incrementally with one 
additional commit since the last revision:

  Fred comments

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

Changes:
  - all: https://git.openjdk.org/valhalla/pull/2095/files
  - new: https://git.openjdk.org/valhalla/pull/2095/files/566b3190..0b83c99a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2095&range=01
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2095&range=00-01

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

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

Reply via email to