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