After JDK-8316991, ConnectionGraph::reduce_phi_on_cmp calls ConnectionGraph::optimize_ptr_compare without checking OptimizePtrCompare:
java -XX:-OptimizePtrCompare -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,"java.lang.String::<init>" -Xbatch Test.java
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (workspace/open/src/hotspot/share/opto/escape.cpp:3275), pid=3094462, tid=3094480
# assert(OptimizePtrCompare) failed: sanity
#
# JRE version: Java(TM) SE Runtime Environment (26.0+5) (fastdebug build 26-ea+5-394)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-ea+5-394, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xd3f75b] ConnectionGraph::optimize_ptr_compare(Node*, Node*)+0x38b
Current CompileTask:
C2:1097 91 b 4 java.lang.String::<init> (86 bytes)
Stack: [0x00007f202b3f5000,0x00007f202b4f5000], sp=0x00007f202b4ef4f0, free space=1001k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xd3f75b] ConnectionGraph::optimize_ptr_compare(Node*, Node*)+0x38b (escape.cpp:3275)
V [libjvm.so+0xd3f894] ConnectionGraph::reduce_phi_on_cmp(Node*)+0xf4
V [libjvm.so+0xd49878] ConnectionGraph::reduce_phi(PhiNode*, GrowableArray<Node*>&, GrowableArray<Node*>&)+0x828
V [libjvm.so+0xd4d4f9] ConnectionGraph::split_unique_types(GrowableArray<Node*>&, GrowableArray<ArrayCopyNode*>&, GrowableArray<MergeMemNode*>&, Unique_Node_List&)+0x789
V [libjvm.so+0xd590cf] ConnectionGraph::compute_escape()+0x264f
V [libjvm.so+0xd5985a] ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0x15a
V [libjvm.so+0xb45607] Compile::Optimize()+0x1397
V [libjvm.so+0xb48013] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1ec3
V [libjvm.so+0x96d097] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x467
V [libjvm.so+0xb57438] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb58
V [libjvm.so+0xb58608] CompileBroker::compiler_thread_loop()+0x578
V [libjvm.so+0x10abc4b] JavaThread::thread_main_inner()+0x13b
V [libjvm.so+0x1b12166] Thread::call_run()+0xb6
V [libjvm.so+0x178c218] thread_native_entry(Thread*)+0x128
java -XX:-OptimizePtrCompare -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,"java.lang.String::<init>" -Xbatch Test.java
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (workspace/open/src/hotspot/share/opto/escape.cpp:3275), pid=3094462, tid=3094480
# assert(OptimizePtrCompare) failed: sanity
#
# JRE version: Java(TM) SE Runtime Environment (26.0+5) (fastdebug build 26-ea+5-394)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 26-ea+5-394, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0xd3f75b] ConnectionGraph::optimize_ptr_compare(Node*, Node*)+0x38b
Current CompileTask:
C2:1097 91 b 4 java.lang.String::<init> (86 bytes)
Stack: [0x00007f202b3f5000,0x00007f202b4f5000], sp=0x00007f202b4ef4f0, free space=1001k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xd3f75b] ConnectionGraph::optimize_ptr_compare(Node*, Node*)+0x38b (escape.cpp:3275)
V [libjvm.so+0xd3f894] ConnectionGraph::reduce_phi_on_cmp(Node*)+0xf4
V [libjvm.so+0xd49878] ConnectionGraph::reduce_phi(PhiNode*, GrowableArray<Node*>&, GrowableArray<Node*>&)+0x828
V [libjvm.so+0xd4d4f9] ConnectionGraph::split_unique_types(GrowableArray<Node*>&, GrowableArray<ArrayCopyNode*>&, GrowableArray<MergeMemNode*>&, Unique_Node_List&)+0x789
V [libjvm.so+0xd590cf] ConnectionGraph::compute_escape()+0x264f
V [libjvm.so+0xd5985a] ConnectionGraph::do_analysis(Compile*, PhaseIterGVN*)+0x15a
V [libjvm.so+0xb45607] Compile::Optimize()+0x1397
V [libjvm.so+0xb48013] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1ec3
V [libjvm.so+0x96d097] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x467
V [libjvm.so+0xb57438] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb58
V [libjvm.so+0xb58608] CompileBroker::compiler_thread_loop()+0x578
V [libjvm.so+0x10abc4b] JavaThread::thread_main_inner()+0x13b
V [libjvm.so+0x1b12166] Thread::call_run()+0xb6
V [libjvm.so+0x178c218] thread_native_entry(Thread*)+0x128
- caused by
-
JDK-8316991 Reduce nullable allocation merges
-
- Resolved
-