Mercurial > hg > truffle
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 } |