1.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp Mon Jun 28 14:13:18 2010 -0400 1.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/vmCMSOperations.cpp Mon Jun 28 14:13:17 2010 -0400 1.3 @@ -234,6 +234,11 @@ 1.4 GenCollectedHeap* gch = GenCollectedHeap::heap(); 1.5 if (_gc_cause != GCCause::_gc_locker && 1.6 gch->total_full_collections_completed() <= _full_gc_count_before) { 1.7 + // maybe we should change the condition to test _gc_cause == 1.8 + // GCCause::_java_lang_system_gc, instead of 1.9 + // _gc_cause != GCCause::_gc_locker 1.10 + assert(_gc_cause == GCCause::_java_lang_system_gc, 1.11 + "the only way to get here if this was a System.gc()-induced GC"); 1.12 assert(ExplicitGCInvokesConcurrent, "Error"); 1.13 // Now, wait for witnessing concurrent gc cycle to complete, 1.14 // but do so in native mode, because we want to lock the