Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8288570

Disabling loop opts before EA triggers "dependence cycle found" assert

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • 20
    • 19, 20
    • hotspot

      Manually disabling loop opts before EA triggers an assert with TestMissingAntiDependency.java and -XX:+StressIGVN:

      diff --git a/src/hotspot/share/opto/compile.cpp b/src/hotspot/share/opto/compile.cpp
      index 42c23b40322..71584350414 100644
      --- a/src/hotspot/share/opto/compile.cpp
      +++ b/src/hotspot/share/opto/compile.cpp
      @@ -2200,7 +2200,7 @@ void Compile::Optimize() {
       
         // Perform escape analysis
         if (do_escape_analysis() && ConnectionGraph::has_candidates(this)) {
      - if (has_loops()) {
      + if (has_loops() && false) {
             // Cleanup graph (remove dead nodes).
             TracePhase tp("idealLoop", &timers[_t_idealLoop]);
             PhaseIdealLoop::optimize(igvn, LoopOptsMaxUnroll);

      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/oracle/jdk2/open/src/hotspot/share/opto/gcm.cpp:793), pid=351030, tid=351042
      # assert(store != load->find_exact_control(load->in(0))) failed: dependence cycle found

      Current CompileTask:
      C2: 945 532 b 4 TestMissingAntiDependency::test (89 bytes)

      Stack: [0x00007f1e95856000,0x00007f1e95957000], sp=0x00007f1e95951680, free space=1005k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xea5840] PhaseCFG::insert_anti_dependences(Block*, Node*, bool)+0x2200
      V [libjvm.so+0xeabf54] PhaseCFG::schedule_late(VectorSet&, Node_Stack&)+0xca4
      V [libjvm.so+0xeac808] PhaseCFG::global_code_motion()+0x398
      V [libjvm.so+0xeb0931] PhaseCFG::do_global_code_motion()+0x51
      V [libjvm.so+0xb02515] Compile::Code_Gen()+0x295
      V [libjvm.so+0xb07e69] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x15f9
      V [libjvm.so+0x91ea3a] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x62a
      V [libjvm.so+0xb168f8] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xbb8
      V [libjvm.so+0xb178e8] CompileBroker::compiler_thread_loop()+0x6f8
      V [libjvm.so+0x1aa608c] JavaThread::thread_main_inner()+0x23c
      V [libjvm.so+0x1ab15d0] Thread::call_run()+0x100
      V [libjvm.so+0x1762314] thread_native_entry(Thread*)+0x104


      Might be related to JDK-8284358.

            thartmann Tobias Hartmann
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: