--- old/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZCollectedHeap.java 2019-02-13 16:35:02.910271337 +0100 +++ new/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZCollectedHeap.java 2019-02-13 16:35:02.542271350 +0100 @@ -25,11 +25,13 @@ package sun.jvm.hotspot.gc.z; import java.io.PrintStream; +import java.util.Iterator; import sun.jvm.hotspot.debugger.Address; import sun.jvm.hotspot.debugger.OopHandle; import sun.jvm.hotspot.gc.shared.CollectedHeap; import sun.jvm.hotspot.gc.shared.CollectedHeapName; +import sun.jvm.hotspot.gc.shared.LiveRegionsClosure; import sun.jvm.hotspot.runtime.VM; import sun.jvm.hotspot.runtime.VMObjectFactory; import sun.jvm.hotspot.types.Type; @@ -39,7 +41,6 @@ // Mirror class for ZCollectedHeap. public class ZCollectedHeap extends CollectedHeap { - private static long zHeapFieldOffset; static { @@ -119,6 +120,15 @@ } } + @Override + public void liveRegionsIterate(LiveRegionsClosure closure) { + Iterator iter = heap().pageTable().activePagesIterator(); + while (iter.hasNext()) { + ZPage page = iter.next(); + closure.doLiveRegions(page); + } + } + @Override public BitMapInterface createBitMap(long size) { // Ignores the size