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();