[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