C2: compilation fails with "assert(false) failed: empty program detected during loop optimization" when compiling a program exhibiting stacked string concatenation optimizations, if the source code is compiled with -XDstringConcat=inline:
<jdk>/bin/javac -XDstringConcat=inline TestStackedConcatsInline.java && <jdk>/bin/java TestStackedConcatsInline
Current CompileTask:
C2:103 35 4 TestStackedConcatsInline::f (53 bytes)
Stack: [0x00007f6d9462b000,0x00007f6d9472b000], sp=0x00007f6d94725ca0, free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x14ef546] PhaseIdealLoop::build_and_optimize()+0xb96 (loopnode.cpp:4652)
V [libjvm.so+0xb24c63] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x4f3
V [libjvm.so+0xb1c096] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0xb6
V [libjvm.so+0xb1eda1] Compile::Optimize()+0xcc1
V [libjvm.so+0xb21eeb] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1f0b
V [libjvm.so+0x951697] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x467
V [libjvm.so+0xb2fb28] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb58
V [libjvm.so+0xb30cf8] CompileBroker::compiler_thread_loop()+0x578
V [libjvm.so+0x107bebb] JavaThread::thread_main_inner()+0x13b
V [libjvm.so+0x1aab6d6] Thread::call_run()+0xb6
V [libjvm.so+0x173a198] thread_native_entry(Thread*)+0x128
<jdk>/bin/javac -XDstringConcat=inline TestStackedConcatsInline.java && <jdk>/bin/java TestStackedConcatsInline
Current CompileTask:
C2:103 35 4 TestStackedConcatsInline::f (53 bytes)
Stack: [0x00007f6d9462b000,0x00007f6d9472b000], sp=0x00007f6d94725ca0, free space=1003k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x14ef546] PhaseIdealLoop::build_and_optimize()+0xb96 (loopnode.cpp:4652)
V [libjvm.so+0xb24c63] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x4f3
V [libjvm.so+0xb1c096] Compile::optimize_loops(PhaseIterGVN&, LoopOptsMode)+0xb6
V [libjvm.so+0xb1eda1] Compile::Optimize()+0xcc1
V [libjvm.so+0xb21eeb] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1f0b
V [libjvm.so+0x951697] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x467
V [libjvm.so+0xb2fb28] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xb58
V [libjvm.so+0xb30cf8] CompileBroker::compiler_thread_loop()+0x578
V [libjvm.so+0x107bebb] JavaThread::thread_main_inner()+0x13b
V [libjvm.so+0x1aab6d6] Thread::call_run()+0xb6
V [libjvm.so+0x173a198] thread_native_entry(Thread*)+0x128
- relates to
-
JDK-8356246 C2: Compilation fails with "assert(bol->is_Bool()) failed: unexpected if shape" in StringConcat::eliminate_unneeded_control
-
- Open
-