[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