< prev index next >

src/share/vm/gc/shared/adaptiveSizePolicy.cpp

Print this page
rev 11777 : [mq]: gcinterface.patch

*** 123,133 **** // Choose a number of GC threads based on the current size // of the heap. This may be complicated because the size of // the heap depends on factors such as the throughput goal. // Still a large heap should be collected by more GC threads. active_workers_by_heap_size = ! MAX2((size_t) 2U, Universe::heap()->capacity() / HeapSizePerGCThread); uintx max_active_workers = MAX2(active_workers_by_JT, active_workers_by_heap_size); new_active_workers = MIN2(max_active_workers, (uintx) total_workers); --- 123,133 ---- // Choose a number of GC threads based on the current size // of the heap. This may be complicated because the size of // the heap depends on factors such as the throughput goal. // Still a large heap should be collected by more GC threads. active_workers_by_heap_size = ! MAX2((size_t) 2U, GC::gc()->heap()->capacity() / HeapSizePerGCThread); uintx max_active_workers = MAX2(active_workers_by_JT, active_workers_by_heap_size); new_active_workers = MIN2(max_active_workers, (uintx) total_workers);
*** 627,631 **** --- 627,654 ---- log_debug(gc, ergo)("Tenuring threshold: (attempted to increase to balance GC costs) = %u", new_tenuring_threshold_arg); } else { assert(!tenuring_threshold_change(), "(no change was attempted)"); } } + + bool AdaptiveSizePolicyOutput::enabled() { + return UseParallelGC && + UseAdaptiveSizePolicy && + log_is_enabled(Debug, gc, ergo); + } + + void AdaptiveSizePolicyOutput::print() { + if (enabled()) { + GC::gc()->heap()->size_policy()->print(); + } + } + + void AdaptiveSizePolicyOutput::print(AdaptiveSizePolicy* size_policy, uint count) { + bool do_print = + enabled() && + (AdaptiveSizePolicyOutputInterval > 0) && + (count % AdaptiveSizePolicyOutputInterval) == 0; + + if (do_print) { + size_policy->print(); + } + }
< prev index next >