[lworld] RFR: 8352647: [lworld] Remove larval InlineTypeNode in Unsafe intrinsics
Jatin Bhateja
jbhateja at openjdk.org
Wed Mar 26 03:21:15 UTC 2025
On Wed, 26 Mar 2025 03:15:06 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> Hi,
>>
>> As a step of #1405, I would like to remove the usage of larval value objects in `Unsafe` intrinsics. This patch also tries to make sure that `Unsafe::makePrivateBuffer` and `Unsafe::finishPrivateBuffer` are always inlined, so that larval objects do not cross call boundaries except for invoking object constructors.
>>
>> Please take a look and review this PR, thanks a lot.
>
> src/hotspot/share/opto/library_call.cpp line 2685:
>
>> 2683: ciInlineKlass* vk = type->inline_klass();
>> 2684: Node* klass = makecon(TypeKlassPtr::make(vk));
>> 2685: Node* obj = new_instance(klass);
>
> We have adpoted a similar strategy in lworld-vector
>
> https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/opto/inlinetypenode.cpp#L1071
We should also emit the IR to mark the larval bit in the object header.
https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/opto/inlinetypenode.cpp#L1075
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/1406#discussion_r2013322213
More information about the valhalla-dev
mailing list