[lworld] RFR: 8353432: [lworld] Deoptimization needs to handle nullable, flat fields in non-value class holders [v2]

Quan Anh Mai qamai at openjdk.org
Tue Jun 3 16:57:40 UTC 2025


On Tue, 3 Jun 2025 11:30:13 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>> Quan Anh Mai has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits:
>> 
>>  - whitespace
>>  - better debug
>>  - Merge branch 'lworld' into safepoint
>>  - handle nullable flat fields in safepoint
>
> src/hotspot/share/opto/macro.cpp line 602:
> 
>> 600:     int nm_offset_in_element = offset_in_element + vk->null_marker_offset_in_payload();
>> 601:     const TypeAryPtr* nm_adr_type = elem_adr_type->with_field_offset(nm_offset_in_element);
>> 602:     Node* value = value_from_mem(mem, ctl, T_BOOLEAN, TypeInt::BOOL, nm_adr_type, alloc);
> 
> What if `value_from_mem` fails and returns `nullptr`?

Yes, you are right, I should check for `null` here. I have also tried to make the debug message for `PrintEliminateAllocations` more detailed.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/1478#discussion_r2124424145


More information about the valhalla-dev mailing list