Mercurial > hg > truffle
diff src/share/vm/memory/genCollectedHeap.cpp @ 1520:bb843ebc7c55
6919638: CMS: ExplicitGCInvokesConcurrent misinteracts with gc locker
Summary: GC-locker induced concurrent full gc should be asynchronous; policy now controlled by a separate flag, which defaults to false.
Reviewed-by: jmasa
author | ysr |
---|---|
date | Mon, 03 May 2010 20:19:05 -0700 |
parents | 0bfd3fb24150 |
children | c18cbe5936b8 |
line wrap: on
line diff
--- a/src/share/vm/memory/genCollectedHeap.cpp Mon May 03 17:23:58 2010 -0400 +++ b/src/share/vm/memory/genCollectedHeap.cpp Mon May 03 20:19:05 2010 -0700 @@ -410,9 +410,9 @@ } bool GenCollectedHeap::should_do_concurrent_full_gc(GCCause::Cause cause) { - return (cause == GCCause::_java_lang_system_gc || - cause == GCCause::_gc_locker) && - UseConcMarkSweepGC && ExplicitGCInvokesConcurrent; + return UseConcMarkSweepGC && + ((cause == GCCause::_gc_locker && GCLockerInvokesConcurrent) || + (cause == GCCause::_java_lang_system_gc && ExplicitGCInvokesConcurrent)); } void GenCollectedHeap::do_collection(bool full,