comparison src/share/vm/gc_implementation/g1/survRateGroup.cpp @ 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 2c0751569716
children 78bbf4d43a14
comparison
equal deleted inserted replaced
6174:74533f63b116 6197:d2a62e0f25eb
41 _surv_rate_pred(NULL), 41 _surv_rate_pred(NULL),
42 _stats_arrays_length(0) { 42 _stats_arrays_length(0) {
43 reset(); 43 reset();
44 if (summary_surv_rates_len > 0) { 44 if (summary_surv_rates_len > 0) {
45 size_t length = summary_surv_rates_len; 45 size_t length = summary_surv_rates_len;
46 _summary_surv_rates = NEW_C_HEAP_ARRAY(NumberSeq*, length); 46 _summary_surv_rates = NEW_C_HEAP_ARRAY(NumberSeq*, length, mtGC);
47 for (size_t i = 0; i < length; ++i) { 47 for (size_t i = 0; i < length; ++i) {
48 _summary_surv_rates[i] = new NumberSeq(); 48 _summary_surv_rates[i] = new NumberSeq();
49 } 49 }
50 } 50 }
51 51
88 if (_region_num > _stats_arrays_length) { 88 if (_region_num > _stats_arrays_length) {
89 double* old_surv_rate = _surv_rate; 89 double* old_surv_rate = _surv_rate;
90 double* old_accum_surv_rate_pred = _accum_surv_rate_pred; 90 double* old_accum_surv_rate_pred = _accum_surv_rate_pred;
91 TruncatedSeq** old_surv_rate_pred = _surv_rate_pred; 91 TruncatedSeq** old_surv_rate_pred = _surv_rate_pred;
92 92
93 _surv_rate = NEW_C_HEAP_ARRAY(double, _region_num); 93 _surv_rate = NEW_C_HEAP_ARRAY(double, _region_num, mtGC);
94 _accum_surv_rate_pred = NEW_C_HEAP_ARRAY(double, _region_num); 94 _accum_surv_rate_pred = NEW_C_HEAP_ARRAY(double, _region_num, mtGC);
95 _surv_rate_pred = NEW_C_HEAP_ARRAY(TruncatedSeq*, _region_num); 95 _surv_rate_pred = NEW_C_HEAP_ARRAY(TruncatedSeq*, _region_num, mtGC);
96 96
97 for (size_t i = 0; i < _stats_arrays_length; ++i) { 97 for (size_t i = 0; i < _stats_arrays_length; ++i) {
98 _surv_rate_pred[i] = old_surv_rate_pred[i]; 98 _surv_rate_pred[i] = old_surv_rate_pred[i];
99 } 99 }
100 for (size_t i = _stats_arrays_length; i < _region_num; ++i) { 100 for (size_t i = _stats_arrays_length; i < _region_num; ++i) {
102 } 102 }
103 103
104 _stats_arrays_length = _region_num; 104 _stats_arrays_length = _region_num;
105 105
106 if (old_surv_rate != NULL) { 106 if (old_surv_rate != NULL) {
107 FREE_C_HEAP_ARRAY(double, old_surv_rate); 107 FREE_C_HEAP_ARRAY(double, old_surv_rate, mtGC);
108 } 108 }
109 if (old_accum_surv_rate_pred != NULL) { 109 if (old_accum_surv_rate_pred != NULL) {
110 FREE_C_HEAP_ARRAY(double, old_accum_surv_rate_pred); 110 FREE_C_HEAP_ARRAY(double, old_accum_surv_rate_pred, mtGC);
111 } 111 }
112 if (old_surv_rate_pred != NULL) { 112 if (old_surv_rate_pred != NULL) {
113 FREE_C_HEAP_ARRAY(TruncatedSeq*, old_surv_rate_pred); 113 FREE_C_HEAP_ARRAY(TruncatedSeq*, old_surv_rate_pred, mtGC);
114 } 114 }
115 } 115 }
116 116
117 for (size_t i = 0; i < _stats_arrays_length; ++i) { 117 for (size_t i = 0; i < _stats_arrays_length; ++i) {
118 _surv_rate[i] = 0.0; 118 _surv_rate[i] = 0.0;