< prev index next >
src/hotspot/share/gc/g1/g1CollectedHeap.cpp
Print this page
*** 2898,2911 ****
workers()->active_workers(),
Threads::number_of_non_daemon_threads());
active_workers = workers()->update_active_workers(active_workers);
log_info(gc,task)("Using %u workers of %u for evacuation", active_workers, workers()->total_workers());
G1MonitoringScope ms(g1mm(),
false /* full_gc */,
collector_state()->yc_type() == Mixed /* all_memory_pools_affected */);
!
G1HeapTransition heap_transition(this);
size_t heap_used_bytes_before_gc = used();
// Don't dynamically change the number of GC threads this early. A value of
// 0 is used to indicate serial work. When parallel work is done,
--- 2898,2916 ----
workers()->active_workers(),
Threads::number_of_non_daemon_threads());
active_workers = workers()->update_active_workers(active_workers);
log_info(gc,task)("Using %u workers of %u for evacuation", active_workers, workers()->total_workers());
+ if(gc_cause() == GCCause::_java_lang_system_gc) {
+ G1MonitoringScope ms(g1mm(),
+ true /* full_gc */,
+ collector_state()->yc_type() == Mixed /* all_memory_pools_affected */);
+ } else {
G1MonitoringScope ms(g1mm(),
false /* full_gc */,
collector_state()->yc_type() == Mixed /* all_memory_pools_affected */);
! }
G1HeapTransition heap_transition(this);
size_t heap_used_bytes_before_gc = used();
// Don't dynamically change the number of GC threads this early. A value of
// 0 is used to indicate serial work. When parallel work is done,
< prev index next >