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