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

Refactor IC locking to use a fine grained CompiledICLocker

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 12
    • Fix Version/s: 12
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b19

      Description

      Today, one must acquire the global CompiledIC_lock to have permission to perform certain IC updating activities. The lock is used outside of safepoints, but for example during nmethod unloading due to GC, lock free accesses are performed, which is safe due to being in a safepoint.

      With concurrent class unloading introduced, the global lock is too coarse grained, and a per-nmethod mechanism is needed instead. In order to allow this, an abstract CompiledICLocker class could help ensuring the safety of IC caches, and allow both the fine grained (but density costly) approach for users of concurrent class unloading, and resort to the default global locking approach otherwise.

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: