[lworld+vector] RFR: 8304310: Initial compilers and runtime handling for multifield backed vectors. [v13]
Jatin Bhateja
jbhateja at openjdk.org
Tue May 9 19:08:13 UTC 2023
On Sat, 6 May 2023 09:30:08 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Handling multifield access through Unsafe.get API, some more cleanups.
>
> src/hotspot/share/opto/vector.cpp line 551:
>
>> 549: num_elem,
>> 550: bt);
>> 551: vec_val_load = gvn.transform(vec_val_load);
>
> Can simply use "vec_unbox->obj()->as_InlineType()->field_value(0)" ?
This is a fallback code, which ideally should never get executed, i introduced it in first version of patch, but its not needed anymore.
> src/hotspot/share/opto/vectornode.cpp line 1642:
>
>> 1640: // a VectorBox but we still need to traverse back through chain of cast nodes
>> 1641: // to get to the VectorBox.
>> 1642: if (n->is_InlineType() &&
>
> Since compiler will generate an InlineTypeNode for any value/primitive instance, is there any other cases that the input of `VectorUnbox` is not an `InlineTypeNode` ? If not, maybe we could remove this condition and add an assertion instead?
Correct, added assertion.
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/833#discussion_r1189026696
PR Review Comment: https://git.openjdk.org/valhalla/pull/833#discussion_r1189026254
More information about the valhalla-dev
mailing list