equal
deleted
inserted
replaced
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) { |