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

[lworld] Various small C2 fixes for bugs found by stress testing

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • P3
    • Resolution: Fixed
    • repo-valhalla
    • repo-valhalla
    • hotspot

    Description

      Running TestLWorld and other inline type tests with -XX:+VerifyIterativeGVN fails:

      # Internal Error (/oracle/valhalla/open/src/hotspot/share/opto/node.hpp:441), pid=444684, tid=444700
      # assert(i == 0 && this == n || ((n) == __null || !VerifyIterativeGVN || !((n)->is_dead()))) failed: can not use dead node

      Current CompileTask:
      C2: 2090 264 b 4 compiler.valhalla.inlinetypes.TestLWorld::test119 (95 bytes)

      Stack: [0x00007f7a9313b000,0x00007f7a9323c000], sp=0x00007f7a93237330, free space=1008k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x16745aa] PhaseIterGVN::subsume_node(Node*, Node*)+0x100a
      V [libjvm.so+0x167ae4f] PhaseIterGVN::transform_old(Node*)+0x4ff
      V [libjvm.so+0x1672f2e] PhaseIterGVN::optimize()+0x7e
      V [libjvm.so+0xa49b36] Compile::Optimize()+0xbe6
      V [libjvm.so+0xa4c493] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x1a53
      V [libjvm.so+0x861c98] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f8
      V [libjvm.so+0xa5c471] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xea1
      V [libjvm.so+0xa5d0f8] CompileBroker::compiler_thread_loop()+0x5a8
      V [libjvm.so+0x1921606] JavaThread::thread_main_inner()+0x256
      V [libjvm.so+0x1927a90] Thread::call_run()+0x100
      V [libjvm.so+0x15ea906] thread_native_entry(Thread*)+0x116


      Running TestBasicFunctionality with "-DPreferCommandLineFlags=true -DVerifyIR=false -XX:+AlwaysIncrementalInline -XX:+MonomorphicArrayCheck -XX:+UncommonNullCast" fails:

      # Internal Error (/oracle/valhalla/open/src/hotspot/share/gc/g1/c2/g1BarrierSetC2.cpp:668), pid=465189, tid=465205
      # assert(node->Opcode() == Op_CastP2X) failed: ConvP2XNode required

      Current CompileTask:
      C2: 32284 313 b 4 compiler.valhalla.inlinetypes.TestBasicFunctionality::test40 (49 bytes)

      Stack: [0x00007f26d3dfe000,0x00007f26d3eff000], sp=0x00007f26d3efa1c0, free space=1008k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xc3423b] G1BarrierSetC2::eliminate_gc_barrier(PhaseIterGVN*, Node*) const+0x4b
      V [libjvm.so+0x1388ed0] PhaseMacroExpand::process_users_of_allocation(CallNode*, bool)+0x700
      V [libjvm.so+0x139b76e] PhaseMacroExpand::eliminate_allocate_node(AllocateNode*) [clone .part.0]+0x3fe
      V [libjvm.so+0x139b9e3] PhaseMacroExpand::eliminate_macro_nodes()+0x133
      V [libjvm.so+0xa4a1f5] Compile::Optimize()+0x12a5
      V [libjvm.so+0xa4c493] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x1a53
      V [libjvm.so+0x861c98] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f8
      V [libjvm.so+0xa5c471] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xea1
      V [libjvm.so+0xa5d0f8] CompileBroker::compiler_thread_loop()+0x5a8
      V [libjvm.so+0x1921606] JavaThread::thread_main_inner()+0x256
      V [libjvm.so+0x1927a90] Thread::call_run()+0x100
      V [libjvm.so+0x15ea906] thread_native_entry(Thread*)+0x116


      Running TestLWorldProfiling with "-XX:+IgnoreUnrecognizedVMOptions -XX:-TieredCompilation -XX:-DoEscapeAnalysis -XX:+AlwaysIncrementalInline -DVerifyIR=false" fails:

      # Internal Error (/oracle/valhalla/open/src/hotspot/share/opto/compile.cpp:1992), pid=478235, tid=478243
      # assert(vt->fast_out(i)->is_InlineTypeBase()) failed: Unexpected inline type user

      Current CompileTask:
      C2: 3962 124 b compiler.valhalla.inlinetypes.TestLWorldProfiling::test8 (11 bytes)

      Stack: [0x00007fc76a236000,0x00007fc76a337000], sp=0x00007fc76a332380, free space=1008k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0xa2aed6] Compile::process_inline_types(PhaseIterGVN&, bool) [clone .part.0]+0x3e6
      V [libjvm.so+0xa4a721] Compile::Optimize()+0x17d1
      V [libjvm.so+0xa4c493] Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, DirectiveSet*)+0x1a53
      V [libjvm.so+0x861c98] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x1f8
      V [libjvm.so+0xa5c471] CompileBroker::invoke_compiler_on_method(CompileTask*)+0xea1
      V [libjvm.so+0xa5d0f8] CompileBroker::compiler_thread_loop()+0x5a8
      V [libjvm.so+0x1921b86] JavaThread::thread_main_inner()+0x256
      V [libjvm.so+0x1928010] Thread::call_run()+0x100
      V [libjvm.so+0x15eae86] thread_native_entry(Thread*)+0x116

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: