--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Mon Aug 03 12:59:30 2009 -0700
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Tue Aug 04 16:00:17 2009 -0700
@@ -112,7 +112,6 @@
return 8*M;
}
-
double _cur_collection_start_sec;
size_t _cur_collection_pause_used_at_start_bytes;
size_t _cur_collection_pause_used_regions_at_start;
@@ -122,6 +121,15 @@
double _cur_clear_ct_time_ms;
bool _satb_drain_time_set;
+#ifndef PRODUCT
+ // Card Table Count Cache stats
+ double _min_clear_cc_time_ms; // min
+ double _max_clear_cc_time_ms; // max
+ double _cur_clear_cc_time_ms; // clearing time during current pause
+ double _cum_clear_cc_time_ms; // cummulative clearing time
+ jlong _num_cc_clears; // number of times the card count cache has been cleared
+#endif
+
double _cur_CH_strong_roots_end_sec;
double _cur_CH_strong_roots_dur_ms;
double _cur_G1_strong_roots_end_sec;
@@ -931,6 +939,18 @@
_cur_aux_times_ms[i] += ms;
}
+#ifndef PRODUCT
+ void record_cc_clear_time(double ms) {
+ if (_min_clear_cc_time_ms < 0.0 || ms <= _min_clear_cc_time_ms)
+ _min_clear_cc_time_ms = ms;
+ if (_max_clear_cc_time_ms < 0.0 || ms >= _max_clear_cc_time_ms)
+ _max_clear_cc_time_ms = ms;
+ _cur_clear_cc_time_ms = ms;
+ _cum_clear_cc_time_ms += ms;
+ _num_cc_clears++;
+ }
+#endif
+
// Record the fact that "bytes" bytes allocated in a region.
void record_before_bytes(size_t bytes);
void record_after_bytes(size_t bytes);