< prev index next >

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

Print this page
rev 57223 : imported patch 8225484-changes-to-survivor-calculation

*** 83,93 **** uint _young_list_max_length; // The survivor rate groups below must be initialized after the predictor because they // indirectly use it through the "this" object passed to their constructor. G1SurvRateGroup* _eden_surv_rate_group; ! G1SurvRateGroup* _survivor_surv_rate_group; double _reserve_factor; // This will be set when the heap is expanded // for the first time during initialization. uint _reserve_regions; --- 83,95 ---- uint _young_list_max_length; // The survivor rate groups below must be initialized after the predictor because they // indirectly use it through the "this" object passed to their constructor. G1SurvRateGroup* _eden_surv_rate_group; ! ! size_t _survivor_used_bytes_at_start; ! size_t _survivor_used_bytes_at_end; double _reserve_factor; // This will be set when the heap is expanded // for the first time during initialization. uint _reserve_regions;
*** 129,143 **** void set_region_eden(HeapRegion* hr) { hr->set_eden(); hr->install_surv_rate_group(_eden_surv_rate_group); } - void set_region_survivor(HeapRegion* hr) { - assert(hr->is_survivor(), "pre-condition"); - hr->install_surv_rate_group(_survivor_surv_rate_group); - } - void record_rs_length(size_t rs_length) { _rs_length = rs_length; } double predict_base_elapsed_time_ms(size_t num_pending_cards) const; --- 131,140 ----
*** 155,165 **** void cset_regions_freed() { bool update = should_update_surv_rate_group_predictors(); _eden_surv_rate_group->all_surviving_words_recorded(predictor(), update); - _survivor_surv_rate_group->all_surviving_words_recorded(predictor(), update); } G1MMUTracker* mmu_tracker() { return _mmu_tracker; } --- 152,161 ----
*** 403,412 **** --- 399,410 ---- // The limit on the number of regions allocated for survivors. uint _max_survivor_regions; AgeTable _survivors_age_table; + size_t _surviving_survivor_words; + size_t desired_survivor_size(uint max_regions) const; // Fraction used when predicting how many optional regions to include in // the CSet. This fraction of the available time is used for optional regions, // the rest is used to add old regions to the normal CSet.
*** 421,442 **** uint max_survivor_regions() { return _max_survivor_regions; } - void note_start_adding_survivor_regions() { - _survivor_surv_rate_group->start_adding_regions(); - } - - void note_stop_adding_survivor_regions() { - _survivor_surv_rate_group->stop_adding_regions(); - } - void record_age_table(AgeTable* age_table) { _survivors_age_table.merge(age_table); } void print_age_table(); void update_max_gc_locker_expansion(); void update_survivors_policy(); --- 419,436 ---- uint max_survivor_regions() { return _max_survivor_regions; } void record_age_table(AgeTable* age_table) { _survivors_age_table.merge(age_table); } + void record_surviving_survivor_words(size_t words) { + _surviving_survivor_words += words; + } + void print_age_table(); void update_max_gc_locker_expansion(); void update_survivors_policy();
< prev index next >