< prev index next >

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

Print this page

        

*** 132,144 **** public G1HeapRegionTable(Address addr) { super(addr); } ! public HeapRegion getByAddress(Address addr) { ! long biasedIndex = addr.asLongValue() >>> shiftBy(); long offset = biasedIndex * HeapRegion.getPointerSize(); ! Address result = (addr instanceof OopHandle) ? addr.addOffsetToAsOopHandle(offset) ! : addr.addOffsetTo(offset); ! return new HeapRegion(result); } } --- 132,144 ---- public G1HeapRegionTable(Address addr) { super(addr); } ! public HeapRegion getByAddress(Address target) { ! Address arrayAddr = biasedBaseField.getValue(addr); ! long biasedIndex = target.asLongValue() >>> shiftBy(); long offset = biasedIndex * HeapRegion.getPointerSize(); ! Address regionAddr = arrayAddr.getAddressAt(offset); ! return (HeapRegion)VMObjectFactory.newObject(HeapRegion.class, regionAddr); } }
< prev index next >