[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