Relates :
|
|
Relates :
|
|
Relates :
|
After JDK-8251462, we are seeing the following assert in Valhalla testing with TieredStopAtLevel=3: # Internal Error (/oracle/valhalla/open/src/hotspot/share/c1/c1_LIRGenerator.cpp:967), pid=1143369, tid=1143383 # assert(data != __null) failed: must have profiling data Current CompileTask: C1: 533 169 b 3 compiler.valhalla.inlinetypes.TestArrays::<clinit> (134 bytes) Stack: [0x00007f187003c000,0x00007f187013d000], sp=0x00007f187013ace0, free space=1019k Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code) V [libjvm.so+0x7b6a64] LIRGenerator::profile_branch(If*, Instruction::Condition)+0x424 V [libjvm.so+0x7dcfc1] LIRGenerator::do_If(If*)+0x1e1 V [libjvm.so+0x7b06c4] LIRGenerator::do_root(Instruction*)+0xa4 V [libjvm.so+0x7b381e] non-virtual thunk to LIRGenerator::block_do(BlockBegin*)+0x5e V [libjvm.so+0x773d74] BlockList::iterate_forward(BlockClosure*)+0x94 V [libjvm.so+0x7286b6] Compilation::emit_lir()+0x5d6 V [libjvm.so+0x72b65b] Compilation::compile_java_method()+0x43b V [libjvm.so+0x72c1f0] Compilation::compile_method()+0x1d0 V [libjvm.so+0x72cc66] Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*, bool, DirectiveSet*)+0x3c6 V [libjvm.so+0x72e113] Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1a3 V [libjvm.so+0xa68ff1] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xea1 V [libjvm.so+0xa69c78] CompileBroker::compiler_thread_loop()+0x5a8 V [libjvm.so+0x192eea6] JavaThread::thread_main_inner()+0x256 V [libjvm.so+0x1935810] Thread::call_run()+0x100 V [libjvm.so+0x15f74e6] thread_native_entry(Thread*)+0x116 A quick investigation showed that CompilerConfig::is_c1_simple_only() incorrectly returns true. It's concerning that none of our mainline testing caught this.
|