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

C2 compilation fails with "Missed optimization opportunity in PhaseIterGVN"

XMLWordPrintable

      java -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:+StressIGVN -XX:StressSeed=150545872 -XX:VerifyIterativeGVN=10 Test.java

      Also works with -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,*Test*::* -XX:-TieredCompilation -Xcomp -XX:+UnlockDiagnosticVMOptions -XX:VerifyIterativeGVN=10

      Missed Value optimization:
      dist dump
      ---------------------------------------------
         1 34 ConI === 0 [[ 858 40 51 62 811 553 148 158 168 914 293 506 526 348 358 368 522 435 445 455 576 526 516 516 512 506 502 925 676 860 ]] #int:1
         1 861 CastII === 651 492 [[ 860 ]] #int unconditional dependency
         0 860 AndI === _ 861 34 [[ 634 ]] !orig=[548] !jvms: Test::mainTest @ bci:214 (line 132)
      Current type:
      bool
      Optimized type:
      int:0
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (open/src/hotspot/share/opto/phaseX.cpp:1082), pid=380021, tid=380035
      # assert(!failure) failed: Missed optimization opportunity in PhaseIterGVN
      #
      # JRE version: Java(TM) SE Runtime Environment (24.0+4) (fastdebug build 24-ea+4-328)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 24-ea+4-328, compiled mode, sharing, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x151845d] PhaseIterGVN::verify_optimize() [clone .part.0]+0x59d

        1. hs_err_pid380021.log
          85 kB
        2. Test.java
          7 kB
        3. TestReduced.java
          0.5 kB

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

              Created:
              Updated:
              Resolved: