[lworld] RFR: 8366705: [lworld] Re-work of arrays meta-data [v4]

Frederic Parain fparain at openjdk.org
Thu Sep 4 16:57:24 UTC 2025


On Thu, 4 Sep 2025 06:18:57 GMT, David Simms <dsimms at openjdk.org> wrote:

>> Frederic Parain has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 67 commits:
>> 
>>  - Merge branch 'array_klasses' of github.com:fparain/valhalla into array_klasses
>>  - Forgot a TODO
>>  - Small cleanup
>>  - Merge remote-tracking branch 'upstream/lworld' into array_klasses
>>  - Moved get_Klass() back to protected and updated usages
>>  - Merge branch 'array_klasses' of github.com:fparain/valhalla into array_klasses
>>  - Linked TODOs to JDK-8366668
>>  - Multidim array fix
>>  - Cleanup T_FLAT_ELEMENT related code
>>  - Fix for isAssignableFrom + tests
>>  - ... and 57 more: https://git.openjdk.org/valhalla/compare/22e9d5f5...527a17b6
>
> src/hotspot/share/ci/ciObjectFactory.cpp line 150:
> 
>> 148:   for (int i = T_BOOLEAN; i <= T_CONFLICT; i++) {
>> 149:     BasicType t = (BasicType)i;
>> 150:     if (type2name(t) != nullptr && t != T_FLAT_ELEMENT && !is_reference_type(t) &&
> 
> I can't remember know if we said we would attempt to remove `T_FLAT_ELEMENT` later ? If we still need it, as a "basic type" can "T_FLAT" cover both elements and fields ?

The last use case of a BasicType specific to value types is in the layout_helper of flat arrays. We don't need a specific values for fields. For arrays, it prevents overloading the T_OBJECT semantic. This is a very limited use case, we could explore later if removing it brings us some benefits.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/1452#discussion_r2322795288


More information about the valhalla-dev mailing list