[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