< prev index next >
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZAddressRangeMapForPageTable.java
Print this page
*** 52,68 ****
private Address map() {
return mapField.getValue(addr);
}
private long index_for_addr(Address addr) {
long index = ZAddress.offset(addr) >> AddressRangeShift;
return index;
}
Address get(Address addr) {
long index = index_for_addr(addr);
! return map().getAddressAt(index * VM.getVM().getBytesPerLong());
}
}
--- 52,91 ----
private Address map() {
return mapField.getValue(addr);
}
+ public long size() {
+ return ZGlobals.ZAddressOffsetMax >> AddressRangeShift;
+ }
+
private long index_for_addr(Address addr) {
long index = ZAddress.offset(addr) >> AddressRangeShift;
return index;
}
+ Address at(long index) {
+ return map().getAddressAt(index * VM.getVM().getBytesPerLong());
+ }
+
Address get(Address addr) {
long index = index_for_addr(addr);
+ return at(index);
+ }
! public class Iterator {
! private long next = 0;
!
! boolean hasNext() {
! return next < size();
! }
!
! Address next() {
! if (next >= size()) {
! throw new RuntimeException("OOIBE");
! }
!
! return at(next++);
! }
}
}
< prev index next >