< 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 >