[lworld+vector] RFR: 8307715: Integrate VectorMask/Shuffle with value/primitive classes [v6]
Xiaohong Gong
xgong at openjdk.org
Thu May 25 09:17:29 UTC 2023
On Thu, 25 May 2023 09:04:33 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> As per my understanding, oop from `gvn.zerocon(T_PRIMITIVE_OBJECT)` is a NULL_PTR, which should be handled in `InlineTypeNode::make_from_oop()` before calling `InlineTypeNode::load()` (see: https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/opto/inlinetypenode.cpp#L857). Not sure why such issue happens.
>
>> As per my understanding, oop from `gvn.zerocon(T_PRIMITIVE_OBJECT)` is a NULL_PTR, which should be handled in `InlineTypeNode::make_from_oop()` before calling `InlineTypeNode::load()` (see: https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/opto/inlinetypenode.cpp#L857). Not sure why such issue happens.
>
> I see, VectorPayloadMF* classes are primitive classes and type of their instances are non-nullable, looks like problem in initialization of _zero_type[T_PRIMITIVE_TYPE] should be initialized by a TypePtr::NOTNULL.
> https://github.com/openjdk/valhalla/blob/lworld/src/hotspot/share/opto/type.cpp#L728
Make sense. But the condition in [line-854](https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/opto/inlinetypenode.cpp#L854) is checking the oop itself instead of the `null_free` input. So if the oop is the `NULL_PTR`, it will be catched as well? I tried to hard the oop to be `gvn.zerocon(T_PRIMITIVE_OBJECT)`, and the code goes to [line-859](https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/opto/inlinetypenode.cpp#L859). Hence the followed `load()` cannot be executed.
BTW, did you run the test again with the latest patch of this PR? Not sure whether the issue you met before is fixed, since we have changed a lot in compiler. Maybe we can add an assertion that the constant oop is not `NULL_PTR`, WDYT?
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/845#discussion_r1205231798
More information about the valhalla-dev
mailing list