comparison src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp @ 6197:d2a62e0f25eb

6995781: Native Memory Tracking (Phase 1) 7151532: DCmd for hotspot native memory tracking Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd Reviewed-by: acorn, coleenp, fparain
author zgu
date Thu, 28 Jun 2012 17:03:16 -0400
parents bbc900c2482a
children 3a431b605145
comparison
equal deleted inserted replaced
6174:74533f63b116 6197:d2a62e0f25eb
38 class CollectionSetChooser; 38 class CollectionSetChooser;
39 39
40 // TraceGen0Time collects data on _both_ young and mixed evacuation pauses 40 // TraceGen0Time collects data on _both_ young and mixed evacuation pauses
41 // (the latter may contain non-young regions - i.e. regions that are 41 // (the latter may contain non-young regions - i.e. regions that are
42 // technically in Gen1) while TraceGen1Time collects data about full GCs. 42 // technically in Gen1) while TraceGen1Time collects data about full GCs.
43 class TraceGen0TimeData : public CHeapObj { 43 class TraceGen0TimeData : public CHeapObj<mtGC> {
44 private: 44 private:
45 unsigned _young_pause_num; 45 unsigned _young_pause_num;
46 unsigned _mixed_pause_num; 46 unsigned _mixed_pause_num;
47 47
48 NumberSeq _all_stop_world_times_ms; 48 NumberSeq _all_stop_world_times_ms;
84 void increment_young_collection_count(); 84 void increment_young_collection_count();
85 void increment_mixed_collection_count(); 85 void increment_mixed_collection_count();
86 void print() const; 86 void print() const;
87 }; 87 };
88 88
89 class TraceGen1TimeData : public CHeapObj { 89 class TraceGen1TimeData : public CHeapObj<mtGC> {
90 private: 90 private:
91 NumberSeq _all_full_gc_times; 91 NumberSeq _all_full_gc_times;
92 92
93 public: 93 public:
94 void record_full_collection(double full_gc_time_ms); 94 void record_full_collection(double full_gc_time_ms);
129 // NewSize==MaxNewSize case above. But we will update the min and max 129 // NewSize==MaxNewSize case above. But we will update the min and max
130 // everytime the heap size changes. 130 // everytime the heap size changes.
131 // 131 //
132 // NewSize and MaxNewSize override NewRatio. So, NewRatio is ignored if it is 132 // NewSize and MaxNewSize override NewRatio. So, NewRatio is ignored if it is
133 // combined with either NewSize or MaxNewSize. (A warning message is printed.) 133 // combined with either NewSize or MaxNewSize. (A warning message is printed.)
134 class G1YoungGenSizer : public CHeapObj { 134 class G1YoungGenSizer : public CHeapObj<mtGC> {
135 private: 135 private:
136 enum SizerKind { 136 enum SizerKind {
137 SizerDefaults, 137 SizerDefaults,
138 SizerNewSizeOnly, 138 SizerNewSizeOnly,
139 SizerMaxNewSizeOnly, 139 SizerMaxNewSizeOnly,