On Mon, 7 Sep 2026 10:54:19 GMT, Yasumasa Suenaga <[email protected]> wrote:
>> Value Object has been introduced since JDK 28 (as a preview feature),
>> however it cannot be handled in SA.
>>
>>
>> public value class Test{
>>
>> public static value record Rec(byte recA, byte recB){};
>>
>> byte a;
>>
>> byte b;
>>
>> Rec rec;
>>
>> byte c;
>> }
>>
>>
>> `rec` as `Test$Rec` can be inlined into the instance of `Test`, but it would
>> be shown as "Bad OOP" in "inspect" on SA. SA should show valid values in
>> `rec`.
>>
>> Note that his change would expand flattened object in below in `inspect`
>> CLHSDB command:
>>
>>
>> hsdb> inspect 0xc22419e8
>> instance of Oop for LingeredAppWithValueObject$ValueObj @ 0x00000000c22419e8
>> (size = 16)
>> _mark: 73201086130815105
>> a: 1
>> b: 2
>> rec:
>> recA: 10
>> recB: 20
>> c: 3
>>
>>
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Yasumasa Suenaga has updated the pull request with a new target base due to a
> merge or a rebase. The pull request now contains 18 commits:
>
> - Rename to "Value" from "Inline"
> - Merge branch 'master' into JDK-8390106
> - Merge remote-tracking branch 'origin/master' into JDK-8390106
> - Update testcase
> - Add override methods
> - Check null marker for value object
> - Merge branch 'master' into JDK-8390106
> - Update comments
> - Add isInline()
> - Update
> src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/FlattenedInline.java
>
> Co-authored-by: Chris Plummer <[email protected]>
> - ... and 8 more: https://git.openjdk.org/jdk/compare/4c98aa9d...932cbd82
Inline rename looks good.
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/FlattenedValue.java
line 36:
> 34:
> 35: /**
> 36: * FlattenedValue represents a flattened object in HotSpot.
The rename works well here. "FlattenedValue" makes more sense then
"FlattenedInline", which sounds redundant.
-------------
Marked as reviewed by cjplummer (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/32310#pullrequestreview-5136907363
PR Review Comment: https://git.openjdk.org/jdk/pull/32310#discussion_r3953963309