On Tue, 25 Aug 2026 00:02:54 GMT, Chris Plummer <[email protected]> wrote:

>> Added in new commit.
>
>> Inline represents "inlineOop" in HotSpot in SA
> This is the reason I wanted some clarifying comments. I think this is 
> actually incorrect. An inlineOop in hotspot is always heap allocated / 
> buffered, whereas in SA Inline can represent a either a heap allocated 
> instance of an inlinable class, or a flattened instance (not heap buffered). 
> So Instance does always map to an instanceOop, but Inline does not always map 
> to an inlineOop.

I found following code at `flatArrayOopDesc::obj_at_put()`. `inlineOop` is used 
to put the value into the payload.

https://github.com/openjdk/jdk/blob/cc278dbb8a1ca0754d5842708b9029441055d361/src/hotspot/share/oops/flatArrayOop.inline.hpp#L117-L119

It is used like casting, but we can say `inlineOop` is used for both heap 
allocated instance and flattened instance.
I understand your comments, but I'm worried how can we handle flattened value 
in SA. I think it is simple to use `Inline` (`inlineOop` in HotSpot), but it is 
the best to follow HotSpot manner. HotSpot looks like to handle it as `oop` - 
should we cast flattened value to `Instance` in SA?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/32310#discussion_r3850164808

Reply via email to