[lworld] RFR: 8376813: [lworld] Add print for dummy field reused as null-marker [v2]

Paul Hübner phubner at openjdk.org
Mon Feb 2 10:58:24 UTC 2026


On Mon, 2 Feb 2026 09:27:33 GMT, Joel Sikström <jsikstro at openjdk.org> wrote:

>> Hello,
>> 
>> Right now it's not clear that the dummy field that is injected into empty inline klasses can be/is reused for the null-marker when looking at the printed layout from -XX:+PrintInlineLayout. I suggest we enhance this print to indicate if the dummy field has been reused for the null-marker.
>> 
>> I've tested that the added comment in the print is there when nullability is turned on (default), and not there when turned off (`-XX:-UseNullableValueFlattening -XX:-UseNullableNonAtomicValueFlattening`).
>> 
>> 
>> Before:
>> Instance fields:
>>  @0 RESERVED 12/-
>>  @12 REGULAR 1/1 ".empty" B
>> 
>> After:
>> Instance fields:
>>  @0 RESERVED 12/-
>>  @12 REGULAR 1/1 ".empty" B (reused as null-marker)
>> 
>> 
>> Testing:
>> * GHA
>> * Oracle's tier1
>
> Joel Sikström has updated the pull request incrementally with one additional commit since the last revision:
> 
>   no dummy field in static layout printing

Thanks for the changes, this makes debugging and developing a lot easier. One thing that came to mind is that we have a bunch of flat array specific printing logic in e.g. `FlatArrayKlass::oop_print_value_on`. As a possible extension, would we ever want to convey such information in the array itself, rather than the field? For example when debug-printing the human-version of the array header to indicate the null marker is reused as the dummy field (when applicable)?

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

Marked as reviewed by phubner (Committer).

PR Review: https://git.openjdk.org/valhalla/pull/2001#pullrequestreview-3738689607


More information about the valhalla-dev mailing list