[lworld] RFR: 8357474: [lworld] Consolidate load/store flat inline types [v8]

Quan Anh Mai qamai at openjdk.org
Mon May 26 15:30:05 UTC 2025


On Mon, 26 May 2025 12:49:46 GMT, Tobias Hartmann <thartmann 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/inlinetypenode.cpp line 754:
> 
>> 752:     Node* ptr = kit->flat_array_element_address(cast, idx, vk, /* null_free */ false, /* not_null_free */ true, /* atomic */ true);
>> 753:     if (vk->get_field_by_offset(vk->payload_offset(), false) == nullptr && vk->null_marker_offset_in_payload() != 0) {
>> 754:       // TODO 8357612 Weird layout
> 
> I don't understand why this would be specific to the layout described in [JDK-8357612](https://bugs.openjdk.org/browse/JDK-8357612)? Wouldn't we also hit `vk->get_field_by_offset(vk->payload_offset(), false) == nullptr` when the null marker is at `vk->payload_offset()` which would be totally fine?

The null marker at `vk->payload_offset()` is covered by `vk->null_marker_offset_in_payload() == 0`, am I right?

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/1470#discussion_r2107563425


More information about the valhalla-dev mailing list