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

changeset 6085
8f07aa079343
parent 6084
46d7652b223c
child 6267
a034dc5e910b
     1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp	Mon Oct 21 18:56:20 2013 +0200
     1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp	Fri Nov 01 17:09:38 2013 +0100
     1.3 @@ -37,7 +37,7 @@
     1.4  PSAdaptiveSizePolicy::PSAdaptiveSizePolicy(size_t init_eden_size,
     1.5                                             size_t init_promo_size,
     1.6                                             size_t init_survivor_size,
     1.7 -                                           size_t intra_generation_alignment,
     1.8 +                                           size_t space_alignment,
     1.9                                             double gc_pause_goal_sec,
    1.10                                             double gc_minor_pause_goal_sec,
    1.11                                             uint gc_cost_ratio) :
    1.12 @@ -47,7 +47,7 @@
    1.13                          gc_pause_goal_sec,
    1.14                          gc_cost_ratio),
    1.15       _collection_cost_margin_fraction(AdaptiveSizePolicyCollectionCostMargin / 100.0),
    1.16 -     _intra_generation_alignment(intra_generation_alignment),
    1.17 +     _space_alignment(space_alignment),
    1.18       _live_at_last_full_gc(init_promo_size),
    1.19       _gc_minor_pause_goal_sec(gc_minor_pause_goal_sec),
    1.20       _latest_major_mutator_interval_seconds(0),
    1.21 @@ -352,11 +352,10 @@
    1.22    }
    1.23  
    1.24    // Align everything and make a final limit check
    1.25 -  const size_t alignment = _intra_generation_alignment;
    1.26 -  desired_eden_size  = align_size_up(desired_eden_size, alignment);
    1.27 -  desired_eden_size  = MAX2(desired_eden_size, alignment);
    1.28 +  desired_eden_size  = align_size_up(desired_eden_size, _space_alignment);
    1.29 +  desired_eden_size  = MAX2(desired_eden_size, _space_alignment);
    1.30  
    1.31 -  eden_limit  = align_size_down(eden_limit, alignment);
    1.32 +  eden_limit  = align_size_down(eden_limit, _space_alignment);
    1.33  
    1.34    // And one last limit check, now that we've aligned things.
    1.35    if (desired_eden_size > eden_limit) {
    1.36 @@ -560,11 +559,10 @@
    1.37    }
    1.38  
    1.39    // Align everything and make a final limit check
    1.40 -  const size_t alignment = _intra_generation_alignment;
    1.41 -  desired_promo_size = align_size_up(desired_promo_size, alignment);
    1.42 -  desired_promo_size = MAX2(desired_promo_size, alignment);
    1.43 +  desired_promo_size = align_size_up(desired_promo_size, _space_alignment);
    1.44 +  desired_promo_size = MAX2(desired_promo_size, _space_alignment);
    1.45  
    1.46 -  promo_limit = align_size_down(promo_limit, alignment);
    1.47 +  promo_limit = align_size_down(promo_limit, _space_alignment);
    1.48  
    1.49    // And one last limit check, now that we've aligned things.
    1.50    desired_promo_size = MIN2(desired_promo_size, promo_limit);
    1.51 @@ -649,7 +647,7 @@
    1.52      }
    1.53      // If the desired eden size is as small as it will get,
    1.54      // try to adjust the old gen size.
    1.55 -    if (*desired_eden_size_ptr <= _intra_generation_alignment) {
    1.56 +    if (*desired_eden_size_ptr <= _space_alignment) {
    1.57        // Vary the old gen size to reduce the young gen pause.  This
    1.58        // may not be a good idea.  This is just a test.
    1.59        if (minor_pause_old_estimator()->decrement_will_decrease()) {
    1.60 @@ -754,7 +752,7 @@
    1.61        // If the promo size is at the minimum (i.e., the old gen
    1.62        // size will not actually decrease), consider changing the
    1.63        // young gen size.
    1.64 -      if (*desired_promo_size_ptr < _intra_generation_alignment) {
    1.65 +      if (*desired_promo_size_ptr < _space_alignment) {
    1.66          // If increasing the young generation will decrease the old gen
    1.67          // pause, do it.
    1.68          // During startup there is noise in the statistics for deciding
    1.69 @@ -1065,24 +1063,24 @@
    1.70  
    1.71  size_t PSAdaptiveSizePolicy::eden_increment_aligned_up(size_t cur_eden) {
    1.72    size_t result = eden_increment(cur_eden, YoungGenerationSizeIncrement);
    1.73 -  return align_size_up(result, _intra_generation_alignment);
    1.74 +  return align_size_up(result, _space_alignment);
    1.75  }
    1.76  
    1.77  size_t PSAdaptiveSizePolicy::eden_increment_aligned_down(size_t cur_eden) {
    1.78    size_t result = eden_increment(cur_eden);
    1.79 -  return align_size_down(result, _intra_generation_alignment);
    1.80 +  return align_size_down(result, _space_alignment);
    1.81  }
    1.82  
    1.83  size_t PSAdaptiveSizePolicy::eden_increment_with_supplement_aligned_up(
    1.84    size_t cur_eden) {
    1.85    size_t result = eden_increment(cur_eden,
    1.86      YoungGenerationSizeIncrement + _young_gen_size_increment_supplement);
    1.87 -  return align_size_up(result, _intra_generation_alignment);
    1.88 +  return align_size_up(result, _space_alignment);
    1.89  }
    1.90  
    1.91  size_t PSAdaptiveSizePolicy::eden_decrement_aligned_down(size_t cur_eden) {
    1.92    size_t eden_heap_delta = eden_decrement(cur_eden);
    1.93 -  return align_size_down(eden_heap_delta, _intra_generation_alignment);
    1.94 +  return align_size_down(eden_heap_delta, _space_alignment);
    1.95  }
    1.96  
    1.97  size_t PSAdaptiveSizePolicy::eden_decrement(size_t cur_eden) {
    1.98 @@ -1104,24 +1102,24 @@
    1.99  
   1.100  size_t PSAdaptiveSizePolicy::promo_increment_aligned_up(size_t cur_promo) {
   1.101    size_t result =  promo_increment(cur_promo, TenuredGenerationSizeIncrement);
   1.102 -  return align_size_up(result, _intra_generation_alignment);
   1.103 +  return align_size_up(result, _space_alignment);
   1.104  }
   1.105  
   1.106  size_t PSAdaptiveSizePolicy::promo_increment_aligned_down(size_t cur_promo) {
   1.107    size_t result =  promo_increment(cur_promo, TenuredGenerationSizeIncrement);
   1.108 -  return align_size_down(result, _intra_generation_alignment);
   1.109 +  return align_size_down(result, _space_alignment);
   1.110  }
   1.111  
   1.112  size_t PSAdaptiveSizePolicy::promo_increment_with_supplement_aligned_up(
   1.113    size_t cur_promo) {
   1.114    size_t result =  promo_increment(cur_promo,
   1.115      TenuredGenerationSizeIncrement + _old_gen_size_increment_supplement);
   1.116 -  return align_size_up(result, _intra_generation_alignment);
   1.117 +  return align_size_up(result, _space_alignment);
   1.118  }
   1.119  
   1.120  size_t PSAdaptiveSizePolicy::promo_decrement_aligned_down(size_t cur_promo) {
   1.121    size_t promo_heap_delta = promo_decrement(cur_promo);
   1.122 -  return align_size_down(promo_heap_delta, _intra_generation_alignment);
   1.123 +  return align_size_down(promo_heap_delta, _space_alignment);
   1.124  }
   1.125  
   1.126  size_t PSAdaptiveSizePolicy::promo_decrement(size_t cur_promo) {
   1.127 @@ -1134,9 +1132,9 @@
   1.128                                               bool is_survivor_overflow,
   1.129                                               uint tenuring_threshold,
   1.130                                               size_t survivor_limit) {
   1.131 -  assert(survivor_limit >= _intra_generation_alignment,
   1.132 +  assert(survivor_limit >= _space_alignment,
   1.133           "survivor_limit too small");
   1.134 -  assert((size_t)align_size_down(survivor_limit, _intra_generation_alignment)
   1.135 +  assert((size_t)align_size_down(survivor_limit, _space_alignment)
   1.136           == survivor_limit, "survivor_limit not aligned");
   1.137  
   1.138    // This method is called even if the tenuring threshold and survivor
   1.139 @@ -1200,8 +1198,8 @@
   1.140    // We're trying to pad the survivor size as little as possible without
   1.141    // overflowing the survivor spaces.
   1.142    size_t target_size = align_size_up((size_t)_avg_survived->padded_average(),
   1.143 -                                     _intra_generation_alignment);
   1.144 -  target_size = MAX2(target_size, _intra_generation_alignment);
   1.145 +                                     _space_alignment);
   1.146 +  target_size = MAX2(target_size, _space_alignment);
   1.147  
   1.148    if (target_size > survivor_limit) {
   1.149      // Target size is bigger than we can handle. Let's also reduce

mercurial