< 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 >