< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPageTable.java

Print this page

        

*** 22,31 **** --- 22,33 ---- * */ package sun.jvm.hotspot.gc.z; + import java.util.function.Consumer; + import sun.jvm.hotspot.debugger.Address; import sun.jvm.hotspot.runtime.VM; import sun.jvm.hotspot.runtime.VMObject; import sun.jvm.hotspot.runtime.VMObjectFactory; import sun.jvm.hotspot.types.Type;
*** 54,66 **** --- 56,86 ---- private ZPageTableEntry getEntry(Address o) { return new ZPageTableEntry(map().get(o)); } + private ZPageTableEntry getEntry(long index) { + return new ZPageTableEntry(map().get(index)); + } + ZPage get(Address o) { return getEntry(o).page(); } boolean is_relocating(Address o) { return getEntry(o).relocating(); } + + public void pageTableIterate(Consumer<ZPage> consumer) { + ZPage prev = null; + for (long index = 0L; index < map().size(); index++) { + var pageEntry = getEntry(index); + if (pageEntry.entry != null) { + var page = pageEntry.page(); + if (!page.equals(prev)) { + consumer.accept(page); + prev = page; + } + } + } + } }
< prev index next >