< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/memory/FileMapInfo.java

Print this page

*** 61,77 **** long headerFieldOffset = type.getField("_header").getOffset(); Address headerAddress = currentInfoField.getValue().addOffsetTo(headerFieldOffset); headerValue = headerAddress.getAddressAt(0); // FileMapHeader ! type = db.lookupType("FileMapInfo::FileMapHeader"); AddressField spaceField = type.getAddressField("_space[0]"); Address spaceValue = headerValue.addOffsetTo(type.getField("_space[0]").getOffset()); mdSpaceValue = spaceValue.addOffsetTo(3 * spaceField.getSize()); // SpaceInfo ! type = db.lookupType("FileMapInfo::FileMapHeader::space_info"); long mdRegionBaseAddressOffset = type.getField("_addr._base").getOffset(); mdRegionBaseAddress = (mdSpaceValue.addOffsetTo(mdRegionBaseAddressOffset)).getAddressAt(0); long mdRegionSizeOffset = type.getField("_used").getOffset(); long mdRegionSize = (mdSpaceValue.addOffsetTo(mdRegionSizeOffset)).getAddressAt(0).asLongValue(); mdRegionEndAddress = mdRegionBaseAddress.addOffsetTo(mdRegionSize); --- 61,77 ---- long headerFieldOffset = type.getField("_header").getOffset(); Address headerAddress = currentInfoField.getValue().addOffsetTo(headerFieldOffset); headerValue = headerAddress.getAddressAt(0); // FileMapHeader ! type = db.lookupType("FileMapHeader"); AddressField spaceField = type.getAddressField("_space[0]"); Address spaceValue = headerValue.addOffsetTo(type.getField("_space[0]").getOffset()); mdSpaceValue = spaceValue.addOffsetTo(3 * spaceField.getSize()); // SpaceInfo ! type = db.lookupType("CDSFileMapRegion"); long mdRegionBaseAddressOffset = type.getField("_addr._base").getOffset(); mdRegionBaseAddress = (mdSpaceValue.addOffsetTo(mdRegionBaseAddressOffset)).getAddressAt(0); long mdRegionSizeOffset = type.getField("_used").getOffset(); long mdRegionSize = (mdSpaceValue.addOffsetTo(mdRegionSizeOffset)).getAddressAt(0).asLongValue(); mdRegionEndAddress = mdRegionBaseAddress.addOffsetTo(mdRegionSize);
< prev index next >