< prev index next >
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/g1/HeapRegionType.java
Print this page
rev 52491 : Changes in jdk.hotspot.agent
@@ -46,10 +46,11 @@
private static int startsHumongousTag;
private static int continuesHumongousTag;
private static int pinnedMask;
private static int archiveMask;
private static int oldMask;
+ private static int preMatureOldMask;
private static CIntegerField tagField;
private int tag;
static {
VM.registerVMInitializedObserver(new Observer() {
@@ -72,10 +73,11 @@
continuesHumongousTag = db.lookupIntConstant("HeapRegionType::ContinuesHumongousTag");
archiveMask = db.lookupIntConstant("HeapRegionType::ArchiveMask");
humongousMask = db.lookupIntConstant("HeapRegionType::HumongousMask");
pinnedMask = db.lookupIntConstant("HeapRegionType::PinnedMask");
oldMask = db.lookupIntConstant("HeapRegionType::OldMask");
+ preMatureOldMask = db.lookupIntConstant("HeapRegionType::PreMatureOldMask");
}
public boolean isFree() {
return tagField.getValue(addr) == freeTag;
}
@@ -114,10 +116,14 @@
public boolean isOld() {
return (tagField.getValue(addr) & oldMask) != 0;
}
+ public boolean isPreMatureOld() {
+ return (tagField.getValue(addr) & preMatureOldMask) != 0;
+ }
+
public HeapRegionType(Address addr) {
super(addr);
}
public String typeAnnotation() {
@@ -143,8 +149,11 @@
return "Pinned";
}
if (isOld()) {
return "Old";
}
+ if (isPreMatureOld()) {
+ return "PreMature Old";
+ }
return "Unknown Region Type";
}
}
< prev index next >