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

Jatin Bhateja jbhateja at openjdk.org
Wed May 10 10:00:50 UTC 2023


On Wed, 10 May 2023 02:11:30 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/inlinetypenode.hpp line 31:
> 
>> 29: #include "opto/loopnode.hpp"
>> 30: #include "opto/node.hpp"
>> 31: #include "opto/matcher.hpp"
> 
> style: include reorder

I think we should run [IWYU](https://github.com/include-what-you-use/include-what-you-use ) on JVM code once , WDYT?

> src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java line 246:
> 
>> 244:         @ForceInline
>> 245:         public static VectorPayloadMF createVectPayloadInstance(Class<?> elemType, int length) {
>> 246:             return newInstanceFactory(elemType, length);
> 
> Any reason that we define two methods to new the payload instance? Can remove this and call `newInstanceFactory()` directly?

Just to give meaningful name to wrapper, both are anyways annotated by @ForceInline hence will always get inlined in caller context.

> src/java.base/share/classes/jdk/internal/vm/vector/VectorSupport.java line 457:
> 
>> 455:     public primitive static class VectorPayloadMF64L extends VectorPayloadMF {
>> 456:         @MultiField(value = 1)
>> 457:         long mfield = 0;
> 
> Can remove the MultiField annotation?

Annotations are propagated to both oops and ci model, and we do special handlings for multifields.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/833#discussion_r1189663894
PR Review Comment: https://git.openjdk.org/valhalla/pull/833#discussion_r1189667543
PR Review Comment: https://git.openjdk.org/valhalla/pull/833#discussion_r1189667472



More information about the valhalla-dev mailing list