--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Mon Jun 28 14:13:18 2010 -0400
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Mon Jun 28 14:13:17 2010 -0400
@@ -266,6 +266,12 @@
_cm->clearNextBitmap();
_sts.leave();
}
+
+ // Update the number of full collections that have been
+ // completed. This will also notify the FullGCCount_lock in case a
+ // Java thread is waiting for a full GC to happen (e.g., it
+ // called System.gc() with +ExplicitGCInvokesConcurrent).
+ g1->increment_full_collections_completed(true /* outer */);
}
assert(_should_terminate, "just checking");