< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/G1HeapRegionTable.java

Print this page




 117         public HeapRegion next() { return positionToNext(); }
 118 
 119         @Override
 120         public void remove()     { /* not supported */      }
 121 
 122         HeapRegionIterator(long totalLength) {
 123             index = 0;
 124             length = totalLength;
 125             positionToNext();
 126         }
 127     }
 128 
 129     public Iterator<HeapRegion> heapRegionIterator(long committedLength) {
 130         return new HeapRegionIterator(committedLength);
 131     }
 132 
 133     public G1HeapRegionTable(Address addr) {
 134         super(addr);
 135     }
 136 
 137     public HeapRegion getByAddress(Address addr) {
 138         long biasedIndex = addr.asLongValue() >>> shiftBy();

 139         long offset = biasedIndex * HeapRegion.getPointerSize();
 140         Address result = (addr instanceof OopHandle) ? addr.addOffsetToAsOopHandle(offset)
 141                                                      : addr.addOffsetTo(offset);
 142         return new HeapRegion(result);
 143     }
 144 }


 117         public HeapRegion next() { return positionToNext(); }
 118 
 119         @Override
 120         public void remove()     { /* not supported */      }
 121 
 122         HeapRegionIterator(long totalLength) {
 123             index = 0;
 124             length = totalLength;
 125             positionToNext();
 126         }
 127     }
 128 
 129     public Iterator<HeapRegion> heapRegionIterator(long committedLength) {
 130         return new HeapRegionIterator(committedLength);
 131     }
 132 
 133     public G1HeapRegionTable(Address addr) {
 134         super(addr);
 135     }
 136 
 137     public HeapRegion getByAddress(Address target) {
 138         Address arrayAddr = biasedBaseField.getValue(addr);
 139         long biasedIndex = target.asLongValue() >>> shiftBy();
 140         long offset = biasedIndex * HeapRegion.getPointerSize();
 141         Address regionAddr = arrayAddr.getAddressAt(offset);
 142         return (HeapRegion)VMObjectFactory.newObject(HeapRegion.class, regionAddr);

 143     }
 144 }
< prev index next >