[lworld] RFR: 8352647: [lworld] Remove larval InlineTypeNode in Unsafe intrinsics [v2]

Jatin Bhateja jbhateja at openjdk.org
Sun Mar 30 13:47:41 UTC 2025


On Wed, 26 Mar 2025 14:14:12 GMT, Quan Anh Mai <qamai 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.
>
> Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
> 
>   comments, set and unset larval bit

src/hotspot/share/opto/library_call.cpp line 2669:

> 2667:   const Type* type = gvn().type(value);
> 2668:   if (!type->is_inlinetypeptr()) {
> 2669:     C->record_method_not_compilable("value passed to Unsafe::makePrivateBuffer is not of a constant value type");

Suggestion:

    C->record_method_not_compilable("Argument passed to Unsafe::makePrivateBuffer is not a concrete value type");

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/1406#discussion_r2020151549


More information about the valhalla-dev mailing list