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

Stop flushing OSR nmethods earlier in the sweeper

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 11, 12, 13
    • Fix Version/s: 14
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b12

      Description

      The sweeper has an optimization that makes the lifecycle of nmethods more complicated than it needs to be.
      It recognizes that no inline caches point at OSR nmethods, and uses that knowledge to reclaim OSR nmethods more aggressively than normal nmethods. It assumes that it is okay to flush unloded nmethods, and nmethods we just made zombie immediately. But if the nmethod is locked, it needs to wait anyway.

      There have been multiple bugs due to this special life cycle of OSR nmethods, and it is simply not worth it. It also blocks concurrent ICStub reclamation, which requires the more robust life cycle.

        Attachments

          Activity

            People

            • Assignee:
              eosterlund Erik Ă–sterlund
              Reporter:
              eosterlund Erik Ă–sterlund
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: