[lworld+vector] RFR: 8304310: Initial compilers and runtime handling for multifield backed vectors. [v3]

Jatin Bhateja jbhateja at openjdk.org
Fri Apr 7 00:44:14 UTC 2023


On Mon, 3 Apr 2023 06:34:49 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Extend ci model to capture synthetic multi-fields, these are used for scalarization if target does not support load/store bundle size.
>
> src/hotspot/share/opto/inlinetypenode.cpp line 492:
> 
>> 490:       if (ary_type != NULL) {
>> 491:         decorators |= IS_ARRAY;
>> 492:       }
> 
> These code could be removed to the `else` branch in line-499.

Done

> src/hotspot/share/opto/inlinetypenode.cpp line 497:
> 
>> 495:       assert(is_java_primitive(bt) || adr->bottom_type()->is_ptr_to_narrowoop() == UseCompressedOops, "inconsistent");
>> 496:       if (value->bottom_type()->isa_vect()) {
>> 497:         Node* store = kit->gvn().transform(StoreVectorNode::make(0, kit->control(), kit->memory(adr), adr, adr_type, value, vec_len));
> 
> Why not keeping "bundle_size() > 1" as the condition, and adding the original assertion like before ?
> 
> assert(value->bottom_type()->isa_vect() && value->bottom_type()->is_vect()->length() == (uint)ft->bundle_size(), "");
> 
> Or maybe at least add an assertion like:
> 
> assert(value->bottom_type()->is_vect()->length() == (uint)ft->bundle_size(), "");

Done

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/833#discussion_r1160355120
PR Review Comment: https://git.openjdk.org/valhalla/pull/833#discussion_r1160354992



More information about the valhalla-dev mailing list