[lworld+vector] RFR: 8307715: Integrate VectorMask/Shuffle with value/primitive classes [v6]
Xiaohong Gong
xgong at openjdk.org
Thu May 25 07:17:30 UTC 2023
On Thu, 25 May 2023 07:10:57 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> It will not be a problem with constant oops or even default values which are value_mirrors, but gvn.zerocon(T_PRIMITIVE_OBJECT) will be create a ConP node representing a NULL_PTR, any address commutation w.r.t. base is will result into illegal address.
>>
>> We should keep multi-field handling in both the control paths and add an extract check for ConP of TypePtr::NULL_PTR in if condition, it will handle all the cases.
>
> Make sense to me. But if the constant oop is `gvn.zerocon(T_PRIMITIVE_OBJECT)`, it's more reasonable that accessing the multi-fields is invalid in runtime, right? I think compiler should exclude such cases before calling `InlineTypeNode::load`. WDYT?
Do you have a test when the constant oop's type is NULL_PTR? I can prepare a fixing and testing. Thanks!
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/845#discussion_r1205091494
More information about the valhalla-dev
mailing list