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

Jatin Bhateja jbhateja at openjdk.org
Wed May 10 10:32:58 UTC 2023


On Wed, 10 May 2023 01:52:50 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Review comments resolutions.
>
> src/hotspot/share/opto/parse1.cpp line 924:
> 
>> 922:     kit.sync_jvms();
>> 923:     Node* res = kit.argument(0);
>> 924:     if (res->isa_InlineType() && VectorSupport::skip_value_scalarization(res->as_InlineType()->inline_klass()->get_InlineKlass())) {
> 
> I'm wondering if `tf()->returns_inline_type_as_fields()` in followed `else-if` branch has any connection with `ciInlineKlass::can_be_returned_as_fields()`.  If `ciInlineKlass::can_be_returned_as_fields()` can decide the result of `tf()->returns_inline_type_as_fields()`, then this special handling for bufferred `InlineTypeNode` can be removed like before?

C2 always scalarizes value objects before returning it, for vector we current do not support scalarization hence I am returning the oop buffer of InlineTypeNode.

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

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



More information about the valhalla-dev mailing list