hotspot/src/share/vm/gc/g1/g1CollectorPolicy.hpp
changeset 37144 b7ae74d4d5d8
parent 37143 345ad6728be3
child 37159 baf5e8b0bd96
child 37158 b882bbfa1af0
equal deleted inserted replaced
37143:345ad6728be3 37144:b7ae74d4d5d8
    57                               size_t young_gen_size);
    57                               size_t young_gen_size);
    58   void report_ihop_statistics();
    58   void report_ihop_statistics();
    59 
    59 
    60   G1Predictions _predictor;
    60   G1Predictions _predictor;
    61   G1Analytics* _analytics;
    61   G1Analytics* _analytics;
    62 
       
    63   G1MMUTracker* _mmu_tracker;
    62   G1MMUTracker* _mmu_tracker;
    64 
    63 
    65   void initialize_alignments();
    64   void initialize_alignments();
    66   void initialize_flags();
    65   void initialize_flags();
    67 
    66 
    68   double _full_collection_start_sec;
    67   double _full_collection_start_sec;
    69 
       
    70   // Ratio check data for determining if heap growth is necessary.
       
    71   uint _ratio_over_threshold_count;
       
    72   double _ratio_over_threshold_sum;
       
    73   uint _pauses_since_start;
       
    74 
    68 
    75   uint _young_list_target_length;
    69   uint _young_list_target_length;
    76   uint _young_list_fixed_length;
    70   uint _young_list_fixed_length;
    77 
    71 
    78   // The max number of regions we can extend the eden by while the GC
    72   // The max number of regions we can extend the eden by while the GC
    80   uint _young_list_max_length;
    74   uint _young_list_max_length;
    81 
    75 
    82   SurvRateGroup* _short_lived_surv_rate_group;
    76   SurvRateGroup* _short_lived_surv_rate_group;
    83   SurvRateGroup* _survivor_surv_rate_group;
    77   SurvRateGroup* _survivor_surv_rate_group;
    84 
    78 
    85   double _gc_overhead_perc;
       
    86 
       
    87   double _reserve_factor;
    79   double _reserve_factor;
    88   uint   _reserve_regions;
    80   uint   _reserve_regions;
    89 
    81 
    90   enum PredictionConstants {
       
    91     NumPrevPausesForHeuristics = 10,
       
    92     // MinOverThresholdForGrowth must be less than NumPrevPausesForHeuristics,
       
    93     // representing the minimum number of pause time ratios that exceed
       
    94     // GCTimeRatio before a heap expansion will be triggered.
       
    95     MinOverThresholdForGrowth = 4
       
    96   };
       
    97   G1YoungGenSizer* _young_gen_sizer;
    82   G1YoungGenSizer* _young_gen_sizer;
    98 
    83 
    99   uint _free_regions_at_end_of_collection;
    84   uint _free_regions_at_end_of_collection;
   100 
    85 
   101   size_t _max_rs_lengths;
    86   size_t _max_rs_lengths;
   388   // initiate_conc_mark_if_possible() is true, and the concurrent
   373   // initiate_conc_mark_if_possible() is true, and the concurrent
   389   // marking thread has completed its work during the previous cycle,
   374   // marking thread has completed its work during the previous cycle,
   390   // it will set during_initial_mark_pause() to so that the pause does
   375   // it will set during_initial_mark_pause() to so that the pause does
   391   // the initial-mark work and start a marking cycle.
   376   // the initial-mark work and start a marking cycle.
   392   void decide_on_conc_mark_initiation();
   377   void decide_on_conc_mark_initiation();
   393 
       
   394   // If an expansion would be appropriate, because recent GC overhead had
       
   395   // exceeded the desired limit, return an amount to expand by.
       
   396   virtual size_t expansion_amount();
       
   397 
       
   398   // Clear ratio tracking data used by expansion_amount().
       
   399   void clear_ratio_check_data();
       
   400 
   378 
   401   // Print stats on young survival ratio
   379   // Print stats on young survival ratio
   402   void print_yg_surv_rate_info() const;
   380   void print_yg_surv_rate_info() const;
   403 
   381 
   404   void finished_recalculating_age_indexes(bool is_survivors) {
   382   void finished_recalculating_age_indexes(bool is_survivors) {