< prev index next >

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

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -35,22 +35,32 @@
 import sun.jvm.hotspot.types.TypeDataBase;
 
 // Mirror class for G1MonitoringSupport.
 
 public class G1MonitoringSupport extends VMObject {
+    // bool _use_legacy_monitoring;
+    static private CIntegerField useLegacyMonitoringField;
     // size_t _eden_space_committed;
     static private CIntegerField edenSpaceCommittedField;
     // size_t _eden_space_used;
     static private CIntegerField edenSpaceUsedField;
     // size_t _survivor_space_committed;
     static private CIntegerField survivorSpaceCommittedField;
     // size_t _survivor_space_used;
     static private CIntegerField survivorSpaceUsedField;
-    // size_t _old_gen_committed;
-    static private CIntegerField oldGenCommittedField;
-    // size_t _old_gen_used;
-    static private CIntegerField oldGenUsedField;
+    // size_t _old_space_committed;
+    static private CIntegerField oldSpaceCommittedField;
+    // size_t _old_space_used;
+    static private CIntegerField oldSpaceUsedField;
+    // size_t _archive_space_committed;
+    static private CIntegerField archiveSpaceCommittedField;
+    // size_t _archive_space_used;
+    static private CIntegerField archiveSpaceUsedField;
+    // size_t _humongous_space_committed;
+    static private CIntegerField humongousSpaceCommittedField;
+    // size_t _humongous_space_used;
+    static private CIntegerField humongousSpaceUsedField;
 
     static {
         VM.registerVMInitializedObserver(new Observer() {
                 public void update(Observable o, Object data) {
                     initialize(VM.getVM().getTypeDataBase());

@@ -59,16 +69,25 @@
     }
 
     static private synchronized void initialize(TypeDataBase db) {
         Type type = db.lookupType("G1MonitoringSupport");
 
+        useLegacyMonitoringField = type.getCIntegerField("_use_legacy_monitoring");
         edenSpaceCommittedField = type.getCIntegerField("_eden_space_committed");
         edenSpaceUsedField = type.getCIntegerField("_eden_space_used");
         survivorSpaceCommittedField = type.getCIntegerField("_survivor_space_committed");
         survivorSpaceUsedField = type.getCIntegerField("_survivor_space_used");
-        oldGenCommittedField = type.getCIntegerField("_old_gen_committed");
-        oldGenUsedField = type.getCIntegerField("_old_gen_used");
+        oldSpaceCommittedField = type.getCIntegerField("_old_space_committed");
+        oldSpaceUsedField = type.getCIntegerField("_old_space_used");
+        archiveSpaceCommittedField = type.getCIntegerField("_archive_space_committed");
+        archiveSpaceUsedField = type.getCIntegerField("_archive_space_used");
+        humongousSpaceCommittedField = type.getCIntegerField("_humongous_space_committed");
+        humongousSpaceUsedField = type.getCIntegerField("_humongous_space_used");
+    }
+
+    public boolean useLegacyMonitoring() {
+        return useLegacyMonitoringField.getValue(addr) != 0;
     }
 
     public long edenSpaceCommitted() {
         return edenSpaceCommittedField.getValue(addr);
     }

@@ -91,16 +110,44 @@
 
     public long survivorSpaceRegionNum() {
         return survivorSpaceUsed() / HeapRegion.grainBytes();
     }
 
-    public long oldGenCommitted() {
-        return oldGenCommittedField.getValue(addr);
+    public long oldSpaceCommitted() {
+        return oldSpaceCommittedField.getValue(addr);
+    }
+
+    public long oldSpaceUsed() {
+        return oldSpaceUsedField.getValue(addr);
+    }
+
+    public long oldSpaceRegionNum() {
+        return oldSpaceUsed() / HeapRegion.grainBytes();
+    }
+
+    public long archiveSpaceCommitted() {
+        return archiveSpaceCommittedField.getValue(addr);
+    }
+
+    public long archiveSpaceUsed() {
+        return archiveSpaceUsedField.getValue(addr);
+    }
+
+    public long archiveSpaceRegionNum() {
+        return archiveSpaceUsed() / HeapRegion.grainBytes();
+    }
+
+    public long humongousSpaceCommitted() {
+        return humongousSpaceCommittedField.getValue(addr);
+    }
+
+    public long humongousSpaceUsed() {
+        return humongousSpaceUsedField.getValue(addr);
     }
 
-    public long oldGenUsed() {
-        return oldGenUsedField.getValue(addr);
+    public long humongousSpaceRegionNum() {
+        return humongousSpaceUsed() / HeapRegion.grainBytes();
     }
 
     public G1MonitoringSupport(Address addr) {
         super(addr);
     }
< prev index next >