< prev index next >

src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp

Print this page




 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     }


< prev index next >