hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
bool G1CollectedHeap::should_do_concurrent_full_gc(GCCause::Cause cause) {
{- -------------------------------------------
(1) 以下のどちらかが成り立てば true を返す. それ以外なら false を返す.
* 呼び出し元が GC_Locker (= cause 引数が GCCause::_gc_locker) で,
かつ GCLockerInvokesConcurrent オプションが指定されている
* 呼び出し元が System.gc() (= cause 引数が GCCause::_java_lang_system_gc) で,
かつ ExplicitGCInvokesConcurrent オプションが指定されている
---------------------------------------- -}
return
((cause == GCCause::_gc_locker && GCLockerInvokesConcurrent) ||
(cause == GCCause::_java_lang_system_gc && ExplicitGCInvokesConcurrent));
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.