[lworld] RFR: 8375548: [lworld] C2: Support value class arrays with compiler replay [v2]

Christian Hagedorn chagedorn at openjdk.org
Thu Jan 22 14:42:47 UTC 2026


On Mon, 19 Jan 2026 15:26:57 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>> Christian Hagedorn has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
>> 
>>  - support value class arrays
>>  - Merge branch 'lworld' into JDK-8375548
>>  - Revert "8375548: [lworld] C2: Compiler replay fails with an assertion due to not loading object array klasses with ArrayProperties::DEFAULT"
>>    
>>    This reverts commit 0cdb2549427a02c6d77adbbf29ba5ed1d1d38293.
>>  - 8375548: [lworld] C2: Compiler replay fails with an assertion due to not loading object array klasses with ArrayProperties::DEFAULT
>
> src/hotspot/share/ci/ciReplay.cpp line 562:
> 
>> 560:         // Create ref or flat array klass.
>> 561:         k = ObjArrayKlass::cast(k)->klass_with_properties(ArrayKlass::ArrayProperties::DEFAULT, THREAD);
>> 562:       }
> 
> This will always create the default refined klass. Shouldn't we keep track of which refined klass was actually referenced in the replay file and then create that particular one here?

Good point! I reverted this fix and added proper support for value class arrays by dumping the array properties to the replay file. I've also added some more extended testing.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/1931#discussion_r2717175099


More information about the valhalla-dev mailing list