[lworld+vector] RFR: 8307715: Integrate VectorMask with value/primitive classes [v2]

Xiaohong Gong xgong at openjdk.org
Thu May 18 08:39:17 UTC 2023


On Thu, 18 May 2023 06:30:52 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> Xiaohong Gong has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix issue when the boxed type is not equal to the intrinsic return type
>
> src/hotspot/share/opto/castnode.cpp line 99:
> 
>> 97:       return vt;
>> 98:     }
>> 99:   }
> 
> As per[ JEP ](https://openjdk.org/jeps/8277163) Value classes (primitve and value) are implicitly final. Also both oop and InlineTypeNode should always be of same type. Do you see a case where a cast should be applied to oop but InlineTypeNode remain sacrosanct ?
> Only  one I can think off is when InlineTypeNode was created using _make_default_ / _make_uninitialized_ and _ciInstanceKlass_ was uninitialized

Yes, the relative API is `VectorMask.fromArray()`, which the InlineTypeNode type is the concrete value class (e.g. `Byte128Mask.class`), while the receiver type is its super class (e.g. `VectorMask.class`). I think it is generated between `VectorBox` and its relative inline method call.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/845#discussion_r1197557505



More information about the valhalla-dev mailing list