[lworld] RFR: 8377791: [lworld] Assert in java_lang_Class::restore_archived_mirror [v2]

Frederic Parain fparain at openjdk.org
Wed Feb 18 17:56:54 UTC 2026


On Fri, 13 Feb 2026 16:15:53 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.
>
> Matias Saavedra Silva has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fred comments

LGTM

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

Marked as reviewed by fparain (Committer).

PR Review: https://git.openjdk.org/valhalla/pull/2095#pullrequestreview-3821381963


More information about the valhalla-dev mailing list