src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/gc_implementation/parallelScavenge

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

Print this page




  29 #include "gc_implementation/shared/gcPolicyCounters.hpp"
  30 #include "gc_interface/gcCause.hpp"
  31 #include "memory/collectorPolicy.hpp"
  32 #include "runtime/timer.hpp"
  33 #include "utilities/top.hpp"
  34 
  35 #include <math.h>
  36 
  37 PSAdaptiveSizePolicy::PSAdaptiveSizePolicy(size_t init_eden_size,
  38                                            size_t init_promo_size,
  39                                            size_t init_survivor_size,
  40                                            size_t intra_generation_alignment,
  41                                            double gc_pause_goal_sec,
  42                                            double gc_minor_pause_goal_sec,
  43                                            uint gc_cost_ratio) :
  44      AdaptiveSizePolicy(init_eden_size,
  45                         init_promo_size,
  46                         init_survivor_size,
  47                         gc_pause_goal_sec,
  48                         gc_cost_ratio),
  49      _collection_cost_margin_fraction(AdaptiveSizePolicyCollectionCostMargin/
  50        100.0),
  51      _intra_generation_alignment(intra_generation_alignment),
  52      _live_at_last_full_gc(init_promo_size),
  53      _gc_minor_pause_goal_sec(gc_minor_pause_goal_sec),
  54      _latest_major_mutator_interval_seconds(0),
  55      _young_gen_change_for_major_pause_count(0)
  56 {
  57   // Sizing policy statistics
  58   _avg_major_pause    =
  59     new AdaptivePaddedAverage(AdaptiveTimeWeight, PausePadding);
  60   _avg_minor_interval = new AdaptiveWeightedAverage(AdaptiveTimeWeight);
  61   _avg_major_interval = new AdaptiveWeightedAverage(AdaptiveTimeWeight);
  62 
  63   _avg_base_footprint = new AdaptiveWeightedAverage(AdaptiveSizePolicyWeight);
  64   _major_pause_old_estimator =
  65     new LinearLeastSquareFit(AdaptiveSizePolicyWeight);
  66   _major_pause_young_estimator =
  67     new LinearLeastSquareFit(AdaptiveSizePolicyWeight);
  68   _major_collection_estimator =
  69     new LinearLeastSquareFit(AdaptiveSizePolicyWeight);
  70 




  29 #include "gc_implementation/shared/gcPolicyCounters.hpp"
  30 #include "gc_interface/gcCause.hpp"
  31 #include "memory/collectorPolicy.hpp"
  32 #include "runtime/timer.hpp"
  33 #include "utilities/top.hpp"
  34 
  35 #include <math.h>
  36 
  37 PSAdaptiveSizePolicy::PSAdaptiveSizePolicy(size_t init_eden_size,
  38                                            size_t init_promo_size,
  39                                            size_t init_survivor_size,
  40                                            size_t intra_generation_alignment,
  41                                            double gc_pause_goal_sec,
  42                                            double gc_minor_pause_goal_sec,
  43                                            uint gc_cost_ratio) :
  44      AdaptiveSizePolicy(init_eden_size,
  45                         init_promo_size,
  46                         init_survivor_size,
  47                         gc_pause_goal_sec,
  48                         gc_cost_ratio),
  49      _collection_cost_margin_fraction(AdaptiveSizePolicyCollectionCostMargin / 100.0),

  50      _intra_generation_alignment(intra_generation_alignment),
  51      _live_at_last_full_gc(init_promo_size),
  52      _gc_minor_pause_goal_sec(gc_minor_pause_goal_sec),
  53      _latest_major_mutator_interval_seconds(0),
  54      _young_gen_change_for_major_pause_count(0)
  55 {
  56   // Sizing policy statistics
  57   _avg_major_pause    =
  58     new AdaptivePaddedAverage(AdaptiveTimeWeight, PausePadding);
  59   _avg_minor_interval = new AdaptiveWeightedAverage(AdaptiveTimeWeight);
  60   _avg_major_interval = new AdaptiveWeightedAverage(AdaptiveTimeWeight);
  61 
  62   _avg_base_footprint = new AdaptiveWeightedAverage(AdaptiveSizePolicyWeight);
  63   _major_pause_old_estimator =
  64     new LinearLeastSquareFit(AdaptiveSizePolicyWeight);
  65   _major_pause_young_estimator =
  66     new LinearLeastSquareFit(AdaptiveSizePolicyWeight);
  67   _major_collection_estimator =
  68     new LinearLeastSquareFit(AdaptiveSizePolicyWeight);
  69 


src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File