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

C2: Excessive RemoveUseless passes during incremental inlining

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 9, 10, 11, 12, 13
    • Fix Version/s: 13
    • Component/s: hotspot
    • Subcomponent:
    • Resolved In Build:
      b07

      Backports

        Description

        If you build the VM with JDK-8058968 included, and run the full suite of Nashorn/Octane with:

        ~/trunks/jdk9-dev/build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/java -XX:+CITime -jar ~/trunks/jdk9-dev/build/linux-x86_64-normal-server-release/images/j2sdk-image/jre/lib/ext/nashorn.jar -Dnashorn.typeInfo.disabled=false --class-cache-size=0 --persistent-code-cache=false -scripting --log=time test/script/basic/run-octane.js -- --iterations 1

        Then you will see this output:
         http://cr.openjdk.java.net/~shade/8058968/new-output-2.txt

        Notice how much time Incremental Inlining consumes:

          Total compilation time : 480.712 s
            C2 Compile Time: 376.791 s
                 Incremental Inline: 84.199 s
                   IdealLoop: 1.061 s
                   IGVN: 10.713 s
                   Inline: 28.659 s
                   Prune Useless: 43.611 s
                   Other: 0.155 s

        This arguably has an effect on Nashorn warmup, and basically on how fast MH-heavy workloads ramp up.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  vlivanov Vladimir Ivanov
                  Reporter:
                  shade Aleksey Shipilev
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: