1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Wed May 15 11:05:09 2013 +0200 1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Wed May 15 10:41:22 2013 -0700 1.3 @@ -552,19 +552,33 @@ 1.4 young_gen->from_space()->capacity_in_bytes() + 1.5 young_gen->to_space()->capacity_in_bytes(), 1.6 "Sizes of space in young gen are out-of-bounds"); 1.7 + 1.8 + size_t young_live = young_gen->used_in_bytes(); 1.9 + size_t eden_live = young_gen->eden_space()->used_in_bytes(); 1.10 + size_t cur_eden = young_gen->eden_space()->capacity_in_bytes(); 1.11 + size_t max_old_gen_size = old_gen->max_gen_size(); 1.12 size_t max_eden_size = young_gen->max_size() - 1.13 young_gen->from_space()->capacity_in_bytes() - 1.14 young_gen->to_space()->capacity_in_bytes(); 1.15 - size_policy->compute_generation_free_space(young_gen->used_in_bytes(), 1.16 - young_gen->eden_space()->used_in_bytes(), 1.17 - old_gen->used_in_bytes(), 1.18 - young_gen->eden_space()->capacity_in_bytes(), 1.19 - old_gen->max_gen_size(), 1.20 - max_eden_size, 1.21 - false /* full gc*/, 1.22 - gc_cause, 1.23 - heap->collector_policy()); 1.24 1.25 + // Used for diagnostics 1.26 + size_policy->clear_generation_free_space_flags(); 1.27 + 1.28 + size_policy->compute_eden_space_size(young_live, 1.29 + eden_live, 1.30 + cur_eden, 1.31 + max_eden_size, 1.32 + false /* not full gc*/); 1.33 + 1.34 + size_policy->check_gc_overhead_limit(young_live, 1.35 + eden_live, 1.36 + max_old_gen_size, 1.37 + max_eden_size, 1.38 + false /* not full gc*/, 1.39 + gc_cause, 1.40 + heap->collector_policy()); 1.41 + 1.42 + size_policy->decay_supplemental_growth(false /* not full gc*/); 1.43 } 1.44 // Resize the young generation at every collection 1.45 // even if new sizes have not been calculated. This is