[lworld] RFR: 8352647: [lworld] Remove larval InlineTypeNode in Unsafe intrinsics [v2]
Jatin Bhateja
jbhateja at openjdk.org
Wed Apr 2 01:20:18 UTC 2025
On Tue, 1 Apr 2025 17:46:08 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:
>> 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");
>
> I believe we do often not capitalize the first letter passed into `C->record_method_not_compilable`. Additionally, what is passed into `Unsafe::makePrivateBuffer` is a value object, not a concrete value type, and we cannot compile this method because we cannot statically determine the value type this object belongs to, not because the object is not actually a value object. If it is not a value object we will just crash here instead.
A reference of identity class, or an abstract value class does not carry an InlineType. Only a concrete value type is valid argument for makePrivateBuffer.
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/1406#discussion_r2023870134
More information about the valhalla-dev
mailing list