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

Jatin Bhateja jbhateja at openjdk.org
Wed Aug 30 01:55:35 UTC 2023


On Wed, 30 Aug 2023 01:27:56 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Restricting population of multifield bundle size and setting _is_multifield_base to only ciMultifield objects.
>
> src/hotspot/share/ci/ciField.cpp line 94:
> 
>> 92:   _is_multifield = false;
>> 93:   _is_multifield_base = false;
>> 94:   _is_transiant_multifield_base = false;
> 
> Why do we still need `_is_multifield_base` in `ciField` ?

That is one which is being used by compilers. The transient one is there for ciInstanceKlass::populate_synthetic_multifields. Both c1 and C2 use ciBytecodeStream::get_field API which creates a ciField from field reference in constant pool. It does not take into account annotations over the field and hence populate synthetic fields operates over originally created field to create a fully populated ciMultifiled. I wanted to avoid adding a transient flag originally.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/918#discussion_r1309521856



More information about the valhalla-dev mailing list