< prev index next >

src/share/vm/gc/parallel/psAdaptiveSizePolicy.cpp

Print this page
rev 8545 : 7012980: PSOldGen is increased if there is no space in Metaspace
Reviewed-by:
* * *
imported patch is_system_gc


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




 113   // Update the interval time
 114   _major_timer.stop();
 115   // Save most recent collection time
 116   _latest_major_mutator_interval_seconds = _major_timer.seconds();
 117   _major_timer.reset();
 118   _major_timer.start();
 119 }
 120 
 121 void PSAdaptiveSizePolicy::update_minor_pause_old_estimator(
 122     double minor_pause_in_ms) {
 123   double promo_size_in_mbytes = ((double)_promo_size)/((double)M);
 124   _minor_pause_old_estimator->update(promo_size_in_mbytes,
 125     minor_pause_in_ms);
 126 }
 127 
 128 void PSAdaptiveSizePolicy::major_collection_end(size_t amount_live,
 129   GCCause::Cause gc_cause) {
 130   // Update the pause time.
 131   _major_timer.stop();
 132 
 133   if (should_update_promo_stats(gc_cause)) {

 134     double major_pause_in_seconds = _major_timer.seconds();
 135     double major_pause_in_ms = major_pause_in_seconds * MILLIUNITS;
 136 
 137     // Sample for performance counter
 138     _avg_major_pause->sample(major_pause_in_seconds);
 139 
 140     // Cost of collection (unit-less)
 141     double collection_cost = 0.0;
 142     if ((_latest_major_mutator_interval_seconds > 0.0) &&
 143         (major_pause_in_seconds > 0.0)) {
 144       double interval_in_seconds =
 145         _latest_major_mutator_interval_seconds + major_pause_in_seconds;
 146       collection_cost =
 147         major_pause_in_seconds / interval_in_seconds;
 148       avg_major_gc_cost()->sample(collection_cost);
 149 
 150       // Sample for performance counter
 151       _avg_major_interval->sample(interval_in_seconds);
 152     }
 153 


< prev index next >