[lworld] RFR: 8357474: [lworld] Consolidate load/store flat inline types [v8]
Quan Anh Mai
qamai at openjdk.org
Mon May 26 15:30:06 UTC 2025
On Mon, 26 May 2025 14:02:50 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
>> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
>>
>> weird layout
>
> src/hotspot/share/opto/parse2.cpp line 129:
>
>> 127: ciArrayKlass* array_klass = ciArrayKlass::make(vk, /* flat */ true, is_null_free, maybe_atomic);
>> 128: const TypeAryPtr* arytype = TypeOopPtr::make_from_klass(array_klass)->isa_aryptr();
>> 129: arytype = arytype->cast_to_exactness(true);
>
> Nice refactoring! Just noticed this here: IIUC, we don't know whether it's null-free or not here but we still set it to exact (was like that before already) which we should probably not? But it looks like the way we later use the `CastPP` in `make_from_flat_array()`, it does not cause problems because we will feed it into a nullable/not-null-free and null-free cast which is correctly set as exact.
That's a nice catch, I have updated it to cast to exactness only when `is_null_free || is_not_null_free`
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/1470#discussion_r2107563614
More information about the valhalla-dev
mailing list