depends_only_on_test_impl() assertion hit after JDK-8347365

XMLWordPrintable

    • b11
    • ppc

      We see the assertion "assert(false) failed: UpperCase" often hit on PPC64 (this intrinsic is only implemented for that platform). I believe there are more nodes for which we could potentially run into the same assertion.

      E.g. compiler/intrinsics/string/TestRangeCheck.java

      Current CompileTask:
      C2:359 407 4 java.util.Formatter::parse (201 bytes)

      Stack: [0x00006137692a0000,0x00006137696b0000], sp=0x00006137696a9ad0, free space=4134k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x3c580c] Node::depends_only_on_test_impl() const+0x4c (node.hpp:1187)
      V [libjvm.so+0x1d872c4] PhaseIdealLoop::pin_nodes_dependent_on(Node*, bool)+0x354 (node.hpp:1104)
      V [libjvm.so+0x1d892d4] PhaseIdealLoop::do_split_if(Node*, RegionNode**, RegionNode**)+0x1a44 (split_if.cpp:723)
      V [libjvm.so+0x161ee5c] PhaseIdealLoop::split_if_with_blocks_post(Node*)+0x9cc (loopopts.cpp:1484)
      V [libjvm.so+0x161f070] PhaseIdealLoop::split_if_with_blocks(VectorSet&, Node_Stack&)+0x100 (loopopts.cpp:2006)
      V [libjvm.so+0x160c7f8] PhaseIdealLoop::build_and_optimize()+0x1538 (loopnode.cpp:5273)
      V [libjvm.so+0xaa575c] PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)+0x42c (loopnode.hpp:1224)
      V [libjvm.so+0xa9e7dc] Compile::Optimize()+0x6cc (compile.cpp:2491)
      V [libjvm.so+0xaa1d98] Compile::Compile(ciEnv*, ciMethod*, int, Options, DirectiveSet*)+0x1d98 (compile.cpp:862)
      V [libjvm.so+0x824fb8] C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)+0x348 (c2compiler.cpp:147)

            Assignee:
            Martin Doerr
            Reporter:
            Martin Doerr
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: