comparison src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp @ 1656:4e5661ba9d98

6944166: G1: explicit GCs are not always handled correctly Summary: G1 was not handling explicit GCs correctly in many ways. It does now. See the CR for the list of improvements contained in this changeset. Reviewed-by: iveresov, ysr, johnc
author tonyp
date Mon, 28 Jun 2010 14:13:17 -0400
parents c18cbe5936b8
children 4e0094bc41fa
comparison
equal deleted inserted replaced
1655:e7ec8cd4dd8a 1656:4e5661ba9d98
264 // suspended by a collection pause. 264 // suspended by a collection pause.
265 _sts.join(); 265 _sts.join();
266 _cm->clearNextBitmap(); 266 _cm->clearNextBitmap();
267 _sts.leave(); 267 _sts.leave();
268 } 268 }
269
270 // Update the number of full collections that have been
271 // completed. This will also notify the FullGCCount_lock in case a
272 // Java thread is waiting for a full GC to happen (e.g., it
273 // called System.gc() with +ExplicitGCInvokesConcurrent).
274 g1->increment_full_collections_completed(true /* outer */);
269 } 275 }
270 assert(_should_terminate, "just checking"); 276 assert(_should_terminate, "just checking");
271 277
272 terminate(); 278 terminate();
273 } 279 }