273 } |
273 } |
274 } |
274 } |
275 |
275 |
276 // We now want to allow clearing of the marking bitmap to be |
276 // We now want to allow clearing of the marking bitmap to be |
277 // suspended by a collection pause. |
277 // suspended by a collection pause. |
278 { |
278 // We may have aborted just before the remark. Do not bother clearing the |
|
279 // bitmap then, as it has been done during mark abort. |
|
280 if (!cm()->has_aborted()) { |
279 SuspendibleThreadSetJoiner sts; |
281 SuspendibleThreadSetJoiner sts; |
280 _cm->clearNextBitmap(); |
282 _cm->clearNextBitmap(); |
|
283 } else { |
|
284 assert(!G1VerifyBitmaps || _cm->nextMarkBitmapIsClear(), "Next mark bitmap must be clear"); |
281 } |
285 } |
282 } |
286 } |
283 |
287 |
284 // Update the number of full collections that have been |
288 // Update the number of full collections that have been |
285 // completed. This will also notify the FullGCCount_lock in case a |
289 // completed. This will also notify the FullGCCount_lock in case a |