RFR: 8183390: Fix and re-enable post loop vectorization

Jatin Bhateja jbhateja at openjdk.java.net
Wed Dec 15 13:36:58 UTC 2021


On Wed, 15 Dec 2021 07:25:09 GMT, Pengfei Li <pli at openjdk.org> wrote:

>> I haven't looked at the code yet but just gave this a quick run through our testing. I'm seeing several hundred failures:
>> 
>> java.lang.ClassNotFoundException: compiler/vectorization/runner/ArrayCopyTest
>> 	at java.base/java.lang.Class.forName0(Native Method)
>> 	at java.base/java.lang.Class.forName(Class.java:383)
>> 	at java.base/java.lang.Class.forName(Class.java:376)
>> 	at compiler.vectorization.runner.VectorizationTestRunner.createTestInstance(VectorizationTestRunner.java:183)
>> 	at compiler.vectorization.runner.VectorizationTestRunner.main(VectorizationTestRunner.java:199)
>> 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
>> 	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
>> 	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
>> 	at java.base/java.lang.Thread.run(Thread.java:833)
>> java.lang.RuntimeException: Cannot create test instance for class compiler/vectorization/runner/ArrayCopyTest
>> 	at compiler.vectorization.runner.VectorizationTestRunner.fail(VectorizationTestRunner.java:195)
>> 	at compiler.vectorization.runner.VectorizationTestRunner.createTestInstance(VectorizationTestRunner.java:188)
>> 	at compiler.vectorization.runner.VectorizationTestRunner.main(VectorizationTestRunner.java:199)
>> 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
>> 	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
>> 	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
>> 	at java.base/java.lang.Thread.run(Thread.java:833)
>> 
>> Similar ClassNotFoundExceptions happen with the other tests. The new tests also intermittently time out with `-Xcomp`.
>> 
>> 
>> java.lang.RuntimeException: Test failed in compiler.vectorization.runner.ArrayIndexFillTest.fillByteArray: Method is not compiled after 30s.
>> 	at compiler.vectorization.runner.VectorizationTestRunner.run(VectorizationTestRunner.java:72)
>> 	at compiler.vectorization.runner.VectorizationTestRunner.main(VectorizationTestRunner.java:200)
>> 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
>> 	at java.base/java.lang.reflect.Method.invoke(Method.java:577)
>> 	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
>> 	at java.base/java.lang.Thread.run(Thread.java:833)
>> 
>> 
>> Running with `-ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation`. Similar failures happen with the other tests.
>> 
>> There are also failures in the pre-submit tests.
>
> Hi @TobiHartmann , thanks for your test work. I have already noticed the failure issues. So far, all the failures I have found are under `compiler/vectorization/runner` - these are new tests added by me from this patch. Cause is that in my new test framework, I use `WhiteBox` APIs to do compilation level control for the correctness check. But it may not work if additional compiler control VM options are specified. I will fix it soon.

Hi @pfustc , thanks will check the behavior on AVX-512 target with your patch.

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

PR: https://git.openjdk.java.net/jdk/pull/6828


More information about the hotspot-compiler-dev mailing list