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

Xiaohong Gong xgong at openjdk.org
Fri May 5 06:47:42 UTC 2023


On Tue, 2 May 2023 05:01:17 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> src/hotspot/share/opto/vector.cpp line 391:
>> 
>>> 389:     ciField* mutifield = payload_klass->declared_nonstatic_field_at(0);
>>> 390:     offset += mutifield->offset();
>>> 391:   }
>> 
>> If the `payload_field` is not flattened, I'm afraid the payload value should be buffered like the original array instance?
>
> Payloads are primitive type objects of VectorPayloadMF* classes, by default should be flattened in the containing object i.e. container object size will take into account flattened fields sizes, but flattening happens under the influence of InlineFieldMaxFlatSize runtime flag, above code handles non-flattened case.

Yes, the non-flattened case may exist. What I mean is when handling the non-flattened payloads, should a buffer be allocated for it as a instance like before?

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

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



More information about the valhalla-dev mailing list