This test fails intermittently when run with -XX:+DeoptimizeALot. Only noticed as the test runs with this option in the loom repo, it of course duplicates with main line too.
The typical failure is:
Custom Run Test: @Run: runNoTrapAfterDeoptInlined - @Test: testNoTrapAfterDeoptInlined:
compiler.lib.ir_framework.shared.TestRunException: There was an error while invoking @Run method public static void compiler.c2.irTests.TestPrunedExHandler.runNoTrapAfterDeoptInlined(compiler.lib.ir_framework.RunInfo)
at compiler.lib.ir_framework.test.CustomRunTest.invokeTest(CustomRunTest.java:162)
at compiler.lib.ir_framework.test.CustomRunTest.run(CustomRunTest.java:87)
at compiler.lib.ir_framework.test.TestVM.runTests(TestVM.java:822)
at compiler.lib.ir_framework.test.TestVM.start(TestVM.java:249)
at compiler.lib.ir_framework.test.TestVM.main(TestVM.java:164)
Caused by: java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at compiler.lib.ir_framework.test.CustomRunTest.invokeTest(CustomRunTest.java:157)
... 4 more
Caused by: compiler.lib.ir_framework.shared.TestRunException: public static void compiler.c2.irTests.TestPrunedExHandler.testNoTrapAfterDeoptInlined(boolean) should have been deoptimized by C2
at compiler.lib.ir_framework.shared.TestRun.check(TestRun.java:32)
at compiler.lib.ir_framework.test.TestVM.assertDeoptimizedByC2(TestVM.java:906)
at compiler.lib.ir_framework.TestFramework.assertDeoptimizedByC2(TestFramework.java:549)
at compiler.c2.irTests.TestPrunedExHandler.runNoTrapAfterDeoptInlined(TestPrunedExHandler.java:138)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
... 6 more
at compiler.lib.ir_framework.test.TestVM.runTests(TestVM.java:857)
at compiler.lib.ir_framework.test.TestVM.start(TestVM.java:249)
at compiler.lib.ir_framework.test.TestVM.main(TestVM.java:164)
Should this test be skipped when using this option, as in:
@requires vm.opt.DeoptimizeALot != true
?