--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Thu Sep 30 12:15:13 2010 -0700
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Fri Oct 01 18:23:16 2010 -0700
@@ -303,9 +303,10 @@
}
void ConcurrentMarkThread::sleepBeforeNextCycle() {
- clear_in_progress();
// We join here because we don't want to do the "shouldConcurrentMark()"
// below while the world is otherwise stopped.
+ assert(!in_progress(), "should have been cleared");
+
MutexLockerEx x(CGC_lock, Mutex::_no_safepoint_check_flag);
while (!started()) {
CGC_lock->wait(Mutex::_no_safepoint_check_flag);