[lworld+vector] RFR: Merge lworld [v2]
Jatin Bhateja
jbhateja at openjdk.org
Tue Sep 26 06:28:39 UTC 2023
On Tue, 26 Sep 2023 03:37:33 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
> Hi @jatin-bhateja ,
>
> Sorry for my late reply to this PR (just noticed it today)!
>
> Regarding to the removing of special handling for multifields in C1, it may cause a regression in test `jdk/incubator/vector/VectorRuns.java` and `jdk/incubator/vector/VectorHash.java`.
>
> Here is the main log:
>
> ```
> WARNING: Using incubator modules: jdk.incubator.vector
> java.lang.AssertionError: 1024 72
> at VectorRuns.assertEquals(VectorRuns.java:51)
> at VectorRuns.main(VectorRuns.java:46)
> at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
> at java.base/java.lang.reflect.Method.invoke(Method.java:582)
> at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
> at java.base/java.lang.Thread.run(Thread.java:1570)
>
> JavaTest Message: Test threw exception: java.lang.AssertionError: 1024 72
> JavaTest Message: shutting down test
>
> STATUS:Failed.`main' threw exception: java.lang.AssertionError: 1024 72
> ```
>
> I guess the `nof_nonstatic_fields` in the `ciInstanceKlass.cpp` does not contain all the multifields, although https://github.com/openjdk/valhalla/blob/lworld%2Bvector/src/hotspot/share/ci/ciEnv.cpp#L1774 returns `false ` for c1. Because the ci instance is singleton and shared between c1 and c2. So if the instance klass is created and the fields are initialized in c2 compiler thread, its nonstatic fields are just like c2 in c1 which is expected to be vectorized.
>
> Could you please look at this issue? Running with `"-XX:TieredStopAtLevel=3"` or adding back the original handling in c1 can make these two tests pass. Thanks!
>
> Best Regards, Xiaohong
Thanks @XiaohongGong , I wanted to give a second though to it. ci model is shared b/w compilers and should ideally be free from specializations, but as you know we have purposefully moved scalarization check upfront to reduce the complexity from field query API. As discussed earlier I am working on max species support and will soon be creating a PR. It will enable us to run entire JTREG suite and uncover regressions.
-------------
PR Comment: https://git.openjdk.org/valhalla/pull/929#issuecomment-1734903321
More information about the valhalla-dev
mailing list