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

Multiple OSR compilations issued for same bci

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 8, 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b40

      Backports

        Description

        While fixing JDK-8061817 I noticed that under some circumstances the VM performs multiple OSR compilations for the same method/bci flooding the JIT compilers with requests. The compiled versions are not used and the VM continues interpreting the method and issuing new requests.

        It only happens if we have several OSR versions of the same method for different bci's.

        Logs look like this:

        request: DeoptimizeMultipleOSRTest::triggerOSR osr_bci: 89 comment: tiered count: 79872 hot: yes
            353 55 % b 2 DeoptimizeMultipleOSRTest::triggerOSR @ 89 (114 bytes)
        Installing osr method (2) DeoptimizeMultipleOSRTest.triggerOSR(ZJ)V @ 89
        request: DeoptimizeMultipleOSRTest::triggerOSR osr_bci: 89 comment: tiered count: 80896 hot: yes
            355 56 % b 2 DeoptimizeMultipleOSRTest::triggerOSR @ 89 (114 bytes)
        Installing osr method (2) DeoptimizeMultipleOSRTest.triggerOSR(ZJ)V @ 89
        request: DeoptimizeMultipleOSRTest::triggerOSR osr_bci: 89 comment: tiered count: 81920 hot: yes
            359 57 % b 2 DeoptimizeMultipleOSRTest::triggerOSR @ 89 (114 bytes)
        Installing osr method (2) DeoptimizeMultipleOSRTest.triggerOSR(ZJ)V @ 89
        request: DeoptimizeMultipleOSRTest::triggerOSR osr_bci: 89 comment: tiered count: 82944 hot: yes
            362 58 % b 2 DeoptimizeMultipleOSRTest::triggerOSR @ 89 (114 bytes)
        Installing osr method (2) DeoptimizeMultipleOSRTest.triggerOSR(ZJ)V @ 89
        request: DeoptimizeMultipleOSRTest::triggerOSR osr_bci: 89 comment: tiered count: 83968 hot: yes
            365 59 % b 2 DeoptimizeMultipleOSRTest::triggerOSR @ 89 (114 bytes)
        Installing osr method (2) DeoptimizeMultipleOSRTest.triggerOSR(ZJ)V @ 89
        request: DeoptimizeMultipleOSRTest::triggerOSR osr_bci: 89 comment: tiered count: 84992 hot: yes
            367 60 % b 2 DeoptimizeMultipleOSRTest::triggerOSR @ 89 (114 bytes)
        Installing osr method (2) DeoptimizeMultipleOSRTest.triggerOSR(ZJ)V @ 89
        request: DeoptimizeMultipleOSRTest::triggerOSR osr_bci: 89 comment: tiered count: 86016 hot: yes
            370 61 % b 2 DeoptimizeMultipleOSRTest::triggerOSR @ 89 (114 bytes)
        Installing osr method (2) DeoptimizeMultipleOSRTest.triggerOSR(ZJ)V @ 89

        [...]

        request: DeoptimizeMultipleOSRTest::triggerOSR osr_bci: 89 comment: tiered count: 118784 hot: yes
            457 93 % b 4 DeoptimizeMultipleOSRTest::triggerOSR @ 89 (114 bytes)
        Installing osr method (4) DeoptimizeMultipleOSRTest.triggerOSR(ZJ)V @ 89
            460 92 % 2 DeoptimizeMultipleOSRTest::triggerOSR @ 89 (114 bytes) made not entrant

          Attachments

          1. DeoptimizeMultipleOSRTest.java
            3 kB
          2. failed_Xcomp.log
            11 kB
          3. failed.log
            1 kB
          4. fixed_Xcomp.log
            2 kB
          5. fixed.log
            2 kB

            Issue Links

              Activity

                People

                • Assignee:
                  thartmann Tobias Hartmann
                  Reporter:
                  thartmann Tobias Hartmann
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: