34 import sun.jvm.hotspot.memory.SharedHeap;
35 import sun.jvm.hotspot.memory.SpaceClosure;
36 import sun.jvm.hotspot.runtime.VM;
37 import sun.jvm.hotspot.runtime.VMObjectFactory;
38 import sun.jvm.hotspot.types.AddressField;
39 import sun.jvm.hotspot.types.CIntegerField;
40 import sun.jvm.hotspot.types.Type;
41 import sun.jvm.hotspot.types.TypeDataBase;
42
43 // Mirror class for G1CollectedHeap.
44
45 public class G1CollectedHeap extends SharedHeap {
46 // HeapRegionSeq _seq;
47 static private long hrsFieldOffset;
48 // MemRegion _g1_committed;
49 static private long g1CommittedFieldOffset;
50 // size_t _summary_bytes_used;
51 static private CIntegerField summaryBytesUsedField;
52 // G1MonitoringSupport* _g1mm;
53 static private AddressField g1mmField;
54 // OldRegionSet _old_set;
55 static private long oldSetFieldOffset;
56 // HumongousRegionSet _humongous_set;
57 static private long humongousSetFieldOffset;
58
59 static {
60 VM.registerVMInitializedObserver(new Observer() {
61 public void update(Observable o, Object data) {
62 initialize(VM.getVM().getTypeDataBase());
63 }
64 });
65 }
66
67 static private synchronized void initialize(TypeDataBase db) {
68 Type type = db.lookupType("G1CollectedHeap");
69
70 hrsFieldOffset = type.getField("_hrs").getOffset();
71 g1CommittedFieldOffset = type.getField("_g1_committed").getOffset();
72 summaryBytesUsedField = type.getCIntegerField("_summary_bytes_used");
73 g1mmField = type.getAddressField("_g1mm");
74 oldSetFieldOffset = type.getField("_old_set").getOffset();
75 humongousSetFieldOffset = type.getField("_humongous_set").getOffset();
76 }
|
34 import sun.jvm.hotspot.memory.SharedHeap;
35 import sun.jvm.hotspot.memory.SpaceClosure;
36 import sun.jvm.hotspot.runtime.VM;
37 import sun.jvm.hotspot.runtime.VMObjectFactory;
38 import sun.jvm.hotspot.types.AddressField;
39 import sun.jvm.hotspot.types.CIntegerField;
40 import sun.jvm.hotspot.types.Type;
41 import sun.jvm.hotspot.types.TypeDataBase;
42
43 // Mirror class for G1CollectedHeap.
44
45 public class G1CollectedHeap extends SharedHeap {
46 // HeapRegionSeq _seq;
47 static private long hrsFieldOffset;
48 // MemRegion _g1_committed;
49 static private long g1CommittedFieldOffset;
50 // size_t _summary_bytes_used;
51 static private CIntegerField summaryBytesUsedField;
52 // G1MonitoringSupport* _g1mm;
53 static private AddressField g1mmField;
54 // HeapRegionSet _old_set;
55 static private long oldSetFieldOffset;
56 // HeapRegionSet _humongous_set;
57 static private long humongousSetFieldOffset;
58
59 static {
60 VM.registerVMInitializedObserver(new Observer() {
61 public void update(Observable o, Object data) {
62 initialize(VM.getVM().getTypeDataBase());
63 }
64 });
65 }
66
67 static private synchronized void initialize(TypeDataBase db) {
68 Type type = db.lookupType("G1CollectedHeap");
69
70 hrsFieldOffset = type.getField("_hrs").getOffset();
71 g1CommittedFieldOffset = type.getField("_g1_committed").getOffset();
72 summaryBytesUsedField = type.getCIntegerField("_summary_bytes_used");
73 g1mmField = type.getAddressField("_g1mm");
74 oldSetFieldOffset = type.getField("_old_set").getOffset();
75 humongousSetFieldOffset = type.getField("_humongous_set").getOffset();
76 }
|