115 // Update the interval time
116 _major_timer.stop();
117 // Save most recent collection time
118 _latest_major_mutator_interval_seconds = _major_timer.seconds();
119 _major_timer.reset();
120 _major_timer.start();
121 }
122
123 void PSAdaptiveSizePolicy::update_minor_pause_old_estimator(
124 double minor_pause_in_ms) {
125 double promo_size_in_mbytes = ((double)_promo_size)/((double)M);
126 _minor_pause_old_estimator->update(promo_size_in_mbytes,
127 minor_pause_in_ms);
128 }
129
130 void PSAdaptiveSizePolicy::major_collection_end(size_t amount_live,
131 GCCause::Cause gc_cause) {
132 // Update the pause time.
133 _major_timer.stop();
134
135 if (gc_cause != GCCause::_java_lang_system_gc ||
136 UseAdaptiveSizePolicyWithSystemGC) {
137 double major_pause_in_seconds = _major_timer.seconds();
138 double major_pause_in_ms = major_pause_in_seconds * MILLIUNITS;
139
140 // Sample for performance counter
141 _avg_major_pause->sample(major_pause_in_seconds);
142
143 // Cost of collection (unit-less)
144 double collection_cost = 0.0;
145 if ((_latest_major_mutator_interval_seconds > 0.0) &&
146 (major_pause_in_seconds > 0.0)) {
147 double interval_in_seconds =
148 _latest_major_mutator_interval_seconds + major_pause_in_seconds;
149 collection_cost =
150 major_pause_in_seconds / interval_in_seconds;
151 avg_major_gc_cost()->sample(collection_cost);
152
153 // Sample for performance counter
154 _avg_major_interval->sample(interval_in_seconds);
155 }
|
115 // Update the interval time
116 _major_timer.stop();
117 // Save most recent collection time
118 _latest_major_mutator_interval_seconds = _major_timer.seconds();
119 _major_timer.reset();
120 _major_timer.start();
121 }
122
123 void PSAdaptiveSizePolicy::update_minor_pause_old_estimator(
124 double minor_pause_in_ms) {
125 double promo_size_in_mbytes = ((double)_promo_size)/((double)M);
126 _minor_pause_old_estimator->update(promo_size_in_mbytes,
127 minor_pause_in_ms);
128 }
129
130 void PSAdaptiveSizePolicy::major_collection_end(size_t amount_live,
131 GCCause::Cause gc_cause) {
132 // Update the pause time.
133 _major_timer.stop();
134
135 if (!GCCause::is_user_requested_gc(gc_cause) ||
136 UseAdaptiveSizePolicyWithSystemGC) {
137 double major_pause_in_seconds = _major_timer.seconds();
138 double major_pause_in_ms = major_pause_in_seconds * MILLIUNITS;
139
140 // Sample for performance counter
141 _avg_major_pause->sample(major_pause_in_seconds);
142
143 // Cost of collection (unit-less)
144 double collection_cost = 0.0;
145 if ((_latest_major_mutator_interval_seconds > 0.0) &&
146 (major_pause_in_seconds > 0.0)) {
147 double interval_in_seconds =
148 _latest_major_mutator_interval_seconds + major_pause_in_seconds;
149 collection_cost =
150 major_pause_in_seconds / interval_in_seconds;
151 avg_major_gc_cost()->sample(collection_cost);
152
153 // Sample for performance counter
154 _avg_major_interval->sample(interval_in_seconds);
155 }
|