[lworld+vector] RFR: 8319972: [lworld+vector] Enable intrinsification of Unsafe.finishPrivateBuffer.

Xiaohong Gong xgong at openjdk.org
Thu Nov 16 08:22:54 UTC 2023


On Thu, 16 Nov 2023 08:00:48 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

> > Do you think it's better to push the main changes (I mean the elimination scalarization of larval state buffer) to `lworld` branch, which may get more reviews from other people?
> 
> I plan to do it separately for JDK-8239003, there have been lots of changes into lworld recently.

Sounds good to me!

>> src/hotspot/share/opto/graphKit.cpp line 1968:
>> 
>>> 1966:         // and transition the allocation into larval state.
>>> 1967:         ret = ret->as_InlineType()->make_larval(this);
>>> 1968:       }
>> 
>> As my understanding, the expected behavior is compiler should guarantee the returned `InlineTypeNode` has a larval state buffer after calling `makePrivateBuffer()`, right? Why do we still need this here?
>
> This it to handle larval state propagation if makePrivateBuffer is not inline expanded, in such a case native implementation gets called and at compile time there is not way to detect larval state.

I see. Thanks! Sounds reasonable. The native implementation of `makePrivateBuffer()` also marks the larval bit of the object. Can we get some help from it?

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

PR Comment: https://git.openjdk.org/valhalla/pull/952#issuecomment-1813980005
PR Review Comment: https://git.openjdk.org/valhalla/pull/952#discussion_r1395309122



More information about the valhalla-dev mailing list