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

Xiaohong Gong xgong at openjdk.org
Thu May 11 01:46:12 UTC 2023


On Wed, 10 May 2023 10:51:46 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> 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. Without this return value register mask may not comply with value being returned, this will specially be problematic when we return VectorPayloadMF* instances, it only has one field of type vector and return value mask expects a GPR.
>
> BTW,  Valhalla  added a new return calling convention for inline types but it needs to be extended to cover vectors.
> [https://github.com/openjdk/valhalla/blob/lworld/src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp#L567](https://github.com/openjdk/valhalla/blob/lworld/src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp#L567)

Yeah, make sense to me. What I mean here is whether we can save this new added branch if  the `else-if` in line-928 can avoid such multifields scalarization. Not a block, we can refine such code in future if possible.

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

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



More information about the valhalla-dev mailing list