[lworld] Integrated: 8377791: [lworld] Assert in java_lang_Class::restore_archived_mirror

Matias Saavedra Silva matsaave at openjdk.org
Wed Feb 18 20:12:29 UTC 2026


On Thu, 12 Feb 2026 19:49:48 GMT, Matias Saavedra Silva <matsaave at openjdk.org> wrote:

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

This pull request has now been integrated.

Changeset: 23b081d4
Author:    Matias Saavedra Silva <matsaave at openjdk.org>
URL:       https://git.openjdk.org/valhalla/commit/23b081d45f0d3ab4746379715dac784cff2c1f25
Stats:     153 lines in 6 files changed: 149 ins; 0 del; 4 mod

8377791: [lworld] Assert in java_lang_Class::restore_archived_mirror

Reviewed-by: coleenp, phubner, fparain

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

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


More information about the valhalla-dev mailing list