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

Induction variable of over-unrolled loop conflicts with range checks

    Details

    • Subcomponent:
    • Resolved In Build:
      b19
    • Verification:
      Fix failed

      Backports

        Description

        When running the h2 DaCapo benchmark with -XX:-TieredCompilation -Xcomp, it complains that the AD file is "bad", like this:

        Default case invoked for:
           opcode = 101, "Con"
        o1 Con === o0 [[]] #top

        --N: o1 Con === o0 [[]] #top


        Failure modes:

        # Internal Error (/oracle/jdk_jdk/open/src/hotspot/share/opto/loopnode.cpp:3806), pid=19752, tid=19761
        # assert(!had_error) failed: bad dominance

        Current CompileTask:
        C2: 14351 3470 b compiler.loopopts.TestOverunrolling::test3 (89 bytes)

        Stack: [0x00007f15d14f6000,0x00007f15d15f7000], sp=0x00007f15d15f10c0, free space=1004k
        Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x19c0d1c] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x18c
        V [libjvm.so+0x19c1caf] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f
        V [libjvm.so+0xbbcffa] report_vm_error(char const*, int, char const*, char const*, ...)+0x12a
        V [libjvm.so+0x13a2a37] PhaseIdealLoop::compute_lca_of_uses(Node*, Node*, bool)+0x3d7
        V [libjvm.so+0x13a30e0] PhaseIdealLoop::build_loop_late_post(Node*)+0x140
        V [libjvm.so+0x13a3823] PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)+0x113
        V [libjvm.so+0x13a7e54] PhaseIdealLoop::build_and_optimize(bool, bool)+0x934
        V [libjvm.so+0xb15aa7] Compile::Optimize()+0xf07
        V [libjvm.so+0xb17130] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x1380
        V [libjvm.so+0x8f7532] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x302
        V [libjvm.so+0xb248a0] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x3c0
        V [libjvm.so+0xb25589] CompileBroker::compiler_thread_loop()+0x269
        V [libjvm.so+0x1902f67] JavaThread::thread_main_inner()+0x287
        V [libjvm.so+0x19031c1] JavaThread::run()+0x191
        V [libjvm.so+0x15f7f4a] thread_native_entry(Thread*)+0xfa


        # Internal Error (/oracle/jdk_jdk/open/src/hotspot/share/opto/matcher.cpp:1575), pid=24470, tid=24479
        # assert(false) failed: bad AD file

        Current CompileTask:
        C2: 14689 3471 b compiler.loopopts.TestOverunrolling::test5 (56 bytes)

        Stack: [0x00007f93b01bd000,0x00007f93b02be000], sp=0x00007f93b02b8bf0, free space=1006k
        Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
        V [libjvm.so+0x19c0d1c] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x18c
        V [libjvm.so+0x19c1caf] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f
        V [libjvm.so+0xbbcffa] report_vm_error(char const*, int, char const*, char const*, ...)+0x12a
        V [libjvm.so+0x1484587] Matcher::Label_Root(Node const*, State*, Node*, Node const*)+0x717
        V [libjvm.so+0x148412e] Matcher::Label_Root(Node const*, State*, Node*, Node const*)+0x2be
        V [libjvm.so+0x14847a6] Matcher::match_tree(Node const*)+0x1b6
        V [libjvm.so+0x1487428] Matcher::xform(Node*, int)+0xb78
        V [libjvm.so+0x148b894] Matcher::match()+0xfb4
        V [libjvm.so+0xb12433] Compile::Code_Gen()+0xc3
        V [libjvm.so+0xb171f1] Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0x1441
        V [libjvm.so+0x8f7532] C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0x302
        V [libjvm.so+0xb248a0] CompileBroker::invoke_compiler_on_method(CompileTask*)+0x3c0
        V [libjvm.so+0xb25589] CompileBroker::compiler_thread_loop()+0x269
        V [libjvm.so+0x1902f67] JavaThread::thread_main_inner()+0x287
        V [libjvm.so+0x19031c1] JavaThread::run()+0x191
        V [libjvm.so+0x15f7f4a] thread_native_entry(Thread*)+0xfa

          Attachments

          1. hs_err_pid29951.log
            275 kB
          2. replay_pid22330.log
            161 kB
          3. Test.java
            0.6 kB

            Issue Links

              Activity

                People

                • Assignee:
                  thartmann Tobias Hartmann
                  Reporter:
                  eosterlund Erik Ă–sterlund
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: