JDK-8271531 : [lworld] Implicit null check optimization does not hoist constant load input
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: repo-valhalla
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-07-30
  • Updated: 2021-07-30
  • Resolved: 2021-07-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
repo-valhallaFixed
Related Reports
Relates :  
Relates :  
Description
compiler/c2/TestNPEHeapBased.java fails with:

# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/oracle/valhalla2/open/src/hotspot/share/opto/block.cpp:1252), pid=184256, tid=184271
#  assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions

Current CompileTask:
C2:    492  109    b        java.util.HashSet::add (20 bytes)

Stack: [0x00007fe8faa38000,0x00007fe8fab39000],  sp=0x00007fe8fab341e0,  free space=1008k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x6cea09]  PhaseCFG::verify() const+0x1e9
V  [libjvm.so+0xa6d4a7]  Compile::Code_Gen()+0x2c7
V  [libjvm.so+0xa76252]  Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, bool, DirectiveSet*)+0x1832
V  [libjvm.so+0x873b30]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x6a0
V  [libjvm.so+0xa86ef9]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0xfb9
V  [libjvm.so+0xa87c68]  CompileBroker::compiler_thread_loop()+0x5a8
V  [libjvm.so+0x19973d1]  JavaThread::thread_main_inner()+0x271
V  [libjvm.so+0x199efd0]  Thread::call_run()+0x100
V  [libjvm.so+0x1641b04]  thread_native_entry(Thread*)+0x104