src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp

Print this page

        

*** 443,453 **** size_policy->update_averages(_survivor_overflow, survived, promoted); // A successful scavenge should restart the GC time limit count which is // for full GC's. size_policy->reset_gc_overhead_limit_count(); ! if (UseAdaptiveSizePolicy) { // Calculate the new survivor size and tenuring threshold if (PrintAdaptiveSizePolicy) { gclog_or_tty->print("AdaptiveSizeStart: "); gclog_or_tty->stamp(); --- 443,458 ---- size_policy->update_averages(_survivor_overflow, survived, promoted); // A successful scavenge should restart the GC time limit count which is // for full GC's. size_policy->reset_gc_overhead_limit_count(); ! 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();
*** 539,548 **** --- 544,556 ---- if (PrintAdaptiveSizePolicy) { gclog_or_tty->print_cr("AdaptiveSizeStop: collection: %d ", heap->total_collections()); } + } else { + ParallelScavengeHeap* heap = (ParallelScavengeHeap*) Universe::heap(); + heap->resize_by_free_ratio(false); } // Update the structure of the eden. With NUMA-eden CPU hotplugging or offlining can // cause the change of the heap layout. Make sure eden is reshaped if that's the case. // Also update() will case adaptive NUMA chunk resizing.