< prev index next >

src/share/vm/gc_implementation/shared/adaptiveSizePolicy.cpp

Print this page




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




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


< prev index next >