< 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 >