diff -r 64bfaa6d10a9 -r d48b9b0a06bf hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp --- a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Thu Jun 25 08:30:23 2015 +0000 +++ b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Thu Jun 25 10:52:37 2015 +0000 @@ -2487,7 +2487,7 @@ // is set) so that if a waiter requests another System.gc() it doesn't // incorrectly see that a marking cycle is still in progress. if (concurrent) { - _cmThread->clear_in_progress(); + _cmThread->set_idle(); } // This notify_all() will ensure that a thread that called