< prev index next >

src/share/vm/gc/g1/g1Policy.hpp

Print this page
rev 10911 : 8154467: Cleanup initialization of GCPolicyCounters
Reviewed-by:


  29 #include "gc/g1/g1GCPhaseTimes.hpp"
  30 #include "gc/g1/g1InCSetState.hpp"
  31 #include "gc/g1/g1InitialMarkToMixedTimeTracker.hpp"
  32 #include "gc/g1/g1MMUTracker.hpp"
  33 #include "gc/g1/g1Predictions.hpp"
  34 #include "gc/g1/g1YoungGenSizer.hpp"
  35 #include "gc/shared/gcCause.hpp"
  36 #include "utilities/pair.hpp"
  37 
  38 // A G1Policy makes policy decisions that determine the
  39 // characteristics of the collector.  Examples include:
  40 //   * choice of collection set.
  41 //   * when to collect.
  42 
  43 class HeapRegion;
  44 class G1CollectionSet;
  45 class CollectionSetChooser;
  46 class G1IHOPControl;
  47 class G1Analytics;
  48 class G1YoungGenSizer;

  49 
  50 class G1Policy: public CHeapObj<mtGC> {
  51  private:
  52   G1IHOPControl* _ihop_control;
  53 
  54   G1IHOPControl* create_ihop_control() const;
  55   // Update the IHOP control with necessary statistics.
  56   void update_ihop_prediction(double mutator_time_s,
  57                               size_t mutator_alloc_bytes,
  58                               size_t young_gen_size);
  59   void report_ihop_statistics();
  60 
  61   G1Predictions _predictor;
  62   G1Analytics* _analytics;
  63   G1MMUTracker* _mmu_tracker;


  64 
  65   double _full_collection_start_sec;
  66 
  67   uint _young_list_target_length;
  68   uint _young_list_fixed_length;
  69 
  70   // The max number of regions we can extend the eden by while the GC
  71   // locker is active. This should be >= _young_list_target_length;
  72   uint _young_list_max_length;
  73 
  74   SurvRateGroup* _short_lived_surv_rate_group;
  75   SurvRateGroup* _survivor_surv_rate_group;
  76 
  77   double _reserve_factor;
  78   uint   _reserve_regions;
  79 
  80   G1YoungGenSizer _young_gen_sizer;
  81 
  82   uint _free_regions_at_end_of_collection;
  83 




  29 #include "gc/g1/g1GCPhaseTimes.hpp"
  30 #include "gc/g1/g1InCSetState.hpp"
  31 #include "gc/g1/g1InitialMarkToMixedTimeTracker.hpp"
  32 #include "gc/g1/g1MMUTracker.hpp"
  33 #include "gc/g1/g1Predictions.hpp"
  34 #include "gc/g1/g1YoungGenSizer.hpp"
  35 #include "gc/shared/gcCause.hpp"
  36 #include "utilities/pair.hpp"
  37 
  38 // A G1Policy makes policy decisions that determine the
  39 // characteristics of the collector.  Examples include:
  40 //   * choice of collection set.
  41 //   * when to collect.
  42 
  43 class HeapRegion;
  44 class G1CollectionSet;
  45 class CollectionSetChooser;
  46 class G1IHOPControl;
  47 class G1Analytics;
  48 class G1YoungGenSizer;
  49 class GCPolicyCounters;
  50 
  51 class G1Policy: public CHeapObj<mtGC> {
  52  private:
  53   G1IHOPControl* _ihop_control;
  54 
  55   G1IHOPControl* create_ihop_control() const;
  56   // Update the IHOP control with necessary statistics.
  57   void update_ihop_prediction(double mutator_time_s,
  58                               size_t mutator_alloc_bytes,
  59                               size_t young_gen_size);
  60   void report_ihop_statistics();
  61 
  62   G1Predictions _predictor;
  63   G1Analytics* _analytics;
  64   G1MMUTracker* _mmu_tracker;
  65 
  66   GCPolicyCounters* _policy_counters;
  67 
  68   double _full_collection_start_sec;
  69 
  70   uint _young_list_target_length;
  71   uint _young_list_fixed_length;
  72 
  73   // The max number of regions we can extend the eden by while the GC
  74   // locker is active. This should be >= _young_list_target_length;
  75   uint _young_list_max_length;
  76 
  77   SurvRateGroup* _short_lived_surv_rate_group;
  78   SurvRateGroup* _survivor_surv_rate_group;
  79 
  80   double _reserve_factor;
  81   uint   _reserve_regions;
  82 
  83   G1YoungGenSizer _young_gen_sizer;
  84 
  85   uint _free_regions_at_end_of_collection;
  86 


< prev index next >