[lworld+vector] RFR: 8314980: [lworld+vector] consider scalarization conditions during ciMultiField creation. [v2]

Jatin Bhateja jbhateja at openjdk.org
Mon Aug 28 07:03:33 UTC 2023


On Mon, 28 Aug 2023 02:09:10 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

> Hi @jatin-bhateja, thanks for this refactoring! Code is much cleaner to me. So does it also need to clean the special handling for multifields in c1/interpreter (e.g. `deoptimize.cpp`) ? Thanks!
> 
> Besides, the `secondary_fields_count()` which is broadcasted to the `bundle_size()` of the `ciField` is calculated from `multifield_info` (see: https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/runtime/fieldDescriptor.inline.hpp#L81), which I think may not be synced with each other. And it is used widely in C2 and deoptimization. Will it have any issues?
> 
> An alternative is checking the vector size supported when calculating the `secondary_fields_count()` in `fieldDescriptor.inline.hpp`. Return the multifield count if the vector size is supported, and return `1` if not. And then, we can use this information both at the ci stage when calculating the `nonstatic_fields` in `ciInstanceKlass.cpp` and C2 compiler. WDYT?

Thanks for reporting this, I was planning to do in next cleanup patch, but its good to club this with this one. Will update the PR soon.

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

PR Comment: https://git.openjdk.org/valhalla/pull/918#issuecomment-1695140156



More information about the valhalla-dev mailing list