-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
P4
-
Affects Version/s: 26
-
Component/s: hotspot
The attached Java Fuzzer test shows a missed optimization opportunity with ModI:
$ java -XX:CompileCommand=compileonly,Test::* -XX:-TieredCompilation -Xcomp -XX:VerifyIterativeGVN=1110 Test.java
$ java -XX:CompileCommand=compileonly,*Reduced*::test -XX:-TieredCompilation -Xcomp -XX:VerifyIterativeGVN=1110 Reduced.java
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (c:\sb\prod\1764873949\workspace\open\src\hotspot\share\opto\phaseX.cpp:1105), pid=9948, tid=6612
# assert(!failure) failed: Missed optimization opportunity in PhaseIterGVN
#
# JRE version: Java(TM) SE Runtime Environment (26.0+27) (fastdebug build 26-ea+27-2778)
..............
Command Line: -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:StressSeed=1352941508 -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+StressLoopPeeling -XX:+UnlockExperimentalVMOptions -XX:PerMethodSpecTrapLimit=0 -XX:PerMethodTrapLimit=0 -XX:+VerifyLoopOptimizations -XX:VerifyIterativeGVN=1110 Test_2277
..............
Current CompileTask:
C2:489 8 !b Test_2277::vMeth (282 bytes)
Stack: [0x0000000503300000,0x0000000503400000], sp=0x00000005033fb850, free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0xe729ac] PhaseIterGVN::verify_optimize+0x65c (phaseX.cpp:1105)
V [jvm.dll+0xe6c67f] PhaseIterGVN::optimize+0x43f (phaseX.cpp:1070)
V [jvm.dll+0x5e4dc1] Compile::Optimize+0x9c1 (compile.cpp:2504)
V [jvm.dll+0x5e1c9a] Compile::Compile+0x10fa (compile.cpp:861)
V [jvm.dll+0x4e6989] C2Compiler::compile_method+0x179 (c2compiler.cpp:150)
V [jvm.dll+0x5fff10] CompileBroker::invoke_compiler_on_method+0x7f0 (compileBroker.cpp:2345)
V [jvm.dll+0x5fd32c] CompileBroker::compiler_thread_loop+0x27c (compileBroker.cpp:1990)
V [jvm.dll+0x94cf61] JavaThread::thread_main_inner+0x261 (javaThread.cpp:777)
V [jvm.dll+0x108ab1e] Thread::call_run+0x1be (thread.cpp:247)
V [jvm.dll+0xe20884] thread_native_entry+0xc4 (os_windows.cpp:555)
C [ucrtbase.dll+0x14ea0] (no source info available)
C [KERNEL32.DLL+0x2dbe7] (no source info available)
C [ntdll.dll+0x85a6c] (no source info available)
$ java -XX:CompileCommand=compileonly,Test::* -XX:-TieredCompilation -Xcomp -XX:VerifyIterativeGVN=1110 Test.java
$ java -XX:CompileCommand=compileonly,*Reduced*::test -XX:-TieredCompilation -Xcomp -XX:VerifyIterativeGVN=1110 Reduced.java
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (c:\sb\prod\1764873949\workspace\open\src\hotspot\share\opto\phaseX.cpp:1105), pid=9948, tid=6612
# assert(!failure) failed: Missed optimization opportunity in PhaseIterGVN
#
# JRE version: Java(TM) SE Runtime Environment (26.0+27) (fastdebug build 26-ea+27-2778)
..............
Command Line: -Xmx1G -XX:+IgnoreUnrecognizedVMOptions -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:StressSeed=1352941508 -XX:+UnlockDiagnosticVMOptions -XX:+StressLCM -XX:+StressGCM -XX:+StressIGVN -XX:+StressCCP -XX:+StressMacroExpansion -XX:+StressLoopPeeling -XX:+UnlockExperimentalVMOptions -XX:PerMethodSpecTrapLimit=0 -XX:PerMethodTrapLimit=0 -XX:+VerifyLoopOptimizations -XX:VerifyIterativeGVN=1110 Test_2277
..............
Current CompileTask:
C2:489 8 !b Test_2277::vMeth (282 bytes)
Stack: [0x0000000503300000,0x0000000503400000], sp=0x00000005033fb850, free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0xe729ac] PhaseIterGVN::verify_optimize+0x65c (phaseX.cpp:1105)
V [jvm.dll+0xe6c67f] PhaseIterGVN::optimize+0x43f (phaseX.cpp:1070)
V [jvm.dll+0x5e4dc1] Compile::Optimize+0x9c1 (compile.cpp:2504)
V [jvm.dll+0x5e1c9a] Compile::Compile+0x10fa (compile.cpp:861)
V [jvm.dll+0x4e6989] C2Compiler::compile_method+0x179 (c2compiler.cpp:150)
V [jvm.dll+0x5fff10] CompileBroker::invoke_compiler_on_method+0x7f0 (compileBroker.cpp:2345)
V [jvm.dll+0x5fd32c] CompileBroker::compiler_thread_loop+0x27c (compileBroker.cpp:1990)
V [jvm.dll+0x94cf61] JavaThread::thread_main_inner+0x261 (javaThread.cpp:777)
V [jvm.dll+0x108ab1e] Thread::call_run+0x1be (thread.cpp:247)
V [jvm.dll+0xe20884] thread_native_entry+0xc4 (os_windows.cpp:555)
C [ucrtbase.dll+0x14ea0] (no source info available)
C [KERNEL32.DLL+0x2dbe7] (no source info available)
C [ntdll.dll+0x85a6c] (no source info available)