< prev index next >
src/share/vm/gc/g1/g1DefaultPolicy.cpp
Print this page
rev 11040 : 8150393: Maintain the set of survivor regions in an array between GCs
Reviewed-by:
*** 39,48 ****
--- 39,49 ----
#include "gc/shared/gcPolicyCounters.hpp"
#include "runtime/arguments.hpp"
#include "runtime/java.hpp"
#include "runtime/mutexLocker.hpp"
#include "utilities/debug.hpp"
+ #include "utilities/growableArray.hpp"
#include "utilities/pair.hpp"
G1DefaultPolicy::G1DefaultPolicy() :
_predictor(G1ConfidencePercent / 100.0),
_analytics(new G1Analytics(&_predictor)),
*** 356,369 ****
return base_min_length + min_young_length;
}
double G1DefaultPolicy::predict_survivor_regions_evac_time() const {
double survivor_regions_evac_time = 0.0;
! for (HeapRegion * r = _g1->young_list()->first_survivor_region();
! r != NULL && r != _g1->young_list()->last_survivor_region()->get_next_young_region();
! r = r->get_next_young_region()) {
! survivor_regions_evac_time += predict_region_elapsed_time_ms(r, collector_state()->gcs_are_young());
}
return survivor_regions_evac_time;
}
void G1DefaultPolicy::revise_young_list_target_length_if_necessary(size_t rs_lengths) {
--- 357,372 ----
return base_min_length + min_young_length;
}
double G1DefaultPolicy::predict_survivor_regions_evac_time() const {
double survivor_regions_evac_time = 0.0;
! const GrowableArray<HeapRegion*>* survivor_regions = _g1->young_list()->survivor_regions();
!
! for (GrowableArrayIterator<HeapRegion*> it = survivor_regions->begin();
! it != survivor_regions->end();
! ++it) {
! survivor_regions_evac_time += predict_region_elapsed_time_ms(*it, collector_state()->gcs_are_young());
}
return survivor_regions_evac_time;
}
void G1DefaultPolicy::revise_young_list_target_length_if_necessary(size_t rs_lengths) {
< prev index next >