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

ZGC: Unify nmethod closures in the heap iterator

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 16
    • 16
    • hotspot
    • gc
    • b23

      In the heap iterator, we use different nmethod closures to visit the on-stack nmethods and the rest that are visited if class unloading is turned off.

      The rational is that the first set have already been processed and does not have to be fixed, so the code simply verifies that the nmethod has been processed and visits all the oops. The second set contains nmethods of the kind that has been entered and processed, and those that have not. Before visiting oops in those nmethods, we apply an nmethod barrier to ensure that it's safe to visit the oops.

      The proposal is to get rid of this separation and simply apply the nmethod entry barrier on all visited nmethods. This will make it easier to reason about the safeness of visiting the oops.

            stefank Stefan Karlsson
            stefank Stefan Karlsson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: