228 void AdaptiveSizePolicy::minor_collection_begin() {
229 // Update the interval time
230 _minor_timer.stop();
231 // Save most recent collection time
232 _latest_minor_mutator_interval_seconds = _minor_timer.seconds();
233 _minor_timer.reset();
234 _minor_timer.start();
235 }
236
237 void AdaptiveSizePolicy::update_minor_pause_young_estimator(
238 double minor_pause_in_ms) {
239 double eden_size_in_mbytes = ((double)_eden_size)/((double)M);
240 _minor_pause_young_estimator->update(eden_size_in_mbytes,
241 minor_pause_in_ms);
242 }
243
244 void AdaptiveSizePolicy::minor_collection_end(GCCause::Cause gc_cause) {
245 // Update the pause time.
246 _minor_timer.stop();
247
248 if (gc_cause != GCCause::_java_lang_system_gc ||
249 UseAdaptiveSizePolicyWithSystemGC) {
250 double minor_pause_in_seconds = _minor_timer.seconds();
251 double minor_pause_in_ms = minor_pause_in_seconds * MILLIUNITS;
252
253 // Sample for performance counter
254 _avg_minor_pause->sample(minor_pause_in_seconds);
255
256 // Cost of collection (unit-less)
257 double collection_cost = 0.0;
258 if ((_latest_minor_mutator_interval_seconds > 0.0) &&
259 (minor_pause_in_seconds > 0.0)) {
260 double interval_in_seconds =
261 _latest_minor_mutator_interval_seconds + minor_pause_in_seconds;
262 collection_cost =
263 minor_pause_in_seconds / interval_in_seconds;
264 _avg_minor_gc_cost->sample(collection_cost);
265 // Sample for performance counter
266 _avg_minor_interval->sample(interval_in_seconds);
267 }
268
|
228 void AdaptiveSizePolicy::minor_collection_begin() {
229 // Update the interval time
230 _minor_timer.stop();
231 // Save most recent collection time
232 _latest_minor_mutator_interval_seconds = _minor_timer.seconds();
233 _minor_timer.reset();
234 _minor_timer.start();
235 }
236
237 void AdaptiveSizePolicy::update_minor_pause_young_estimator(
238 double minor_pause_in_ms) {
239 double eden_size_in_mbytes = ((double)_eden_size)/((double)M);
240 _minor_pause_young_estimator->update(eden_size_in_mbytes,
241 minor_pause_in_ms);
242 }
243
244 void AdaptiveSizePolicy::minor_collection_end(GCCause::Cause gc_cause) {
245 // Update the pause time.
246 _minor_timer.stop();
247
248 if (!GCCause::is_system_gc(gc_cause) ||
249 UseAdaptiveSizePolicyWithSystemGC) {
250 double minor_pause_in_seconds = _minor_timer.seconds();
251 double minor_pause_in_ms = minor_pause_in_seconds * MILLIUNITS;
252
253 // Sample for performance counter
254 _avg_minor_pause->sample(minor_pause_in_seconds);
255
256 // Cost of collection (unit-less)
257 double collection_cost = 0.0;
258 if ((_latest_minor_mutator_interval_seconds > 0.0) &&
259 (minor_pause_in_seconds > 0.0)) {
260 double interval_in_seconds =
261 _latest_minor_mutator_interval_seconds + minor_pause_in_seconds;
262 collection_cost =
263 minor_pause_in_seconds / interval_in_seconds;
264 _avg_minor_gc_cost->sample(collection_cost);
265 // Sample for performance counter
266 _avg_minor_interval->sample(interval_in_seconds);
267 }
268
|