src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp
Print this page
@@ -445,11 +445,16 @@
size_t survived = young_gen->from_space()->used_in_bytes();
size_t promoted = old_gen->used_in_bytes() - old_gen_used_before;
size_policy->update_averages(_survivor_overflow, survived, promoted);
- if (UseAdaptiveSizePolicy) {
+ if (PSResizeByFreeRatioWithSystemGC &&
+ gc_cause == GCCause::_java_lang_system_gc) {
+ ParallelScavengeHeap* heap = (ParallelScavengeHeap*) Universe::heap();
+ heap->resize_by_free_ratio(false);
+
+ } else if (UseAdaptiveSizePolicy) {
// Calculate the new survivor size and tenuring threshold
if (PrintAdaptiveSizePolicy) {
gclog_or_tty->print("AdaptiveSizeStart: ");
gclog_or_tty->stamp();