Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1RemSet.cpp @ 2364:04d1138b4cce
7023747: G1: too strict assert in RefineRecordRefsIntoCSCardTableEntryClosure::do_card_ptr in g1RemSet.cpp
Summary: Made sure that the assert looks at ParallelGCThreads.
Reviewed-by: stefank, tonyp, jwilhelm, johnc
author | brutisso |
---|---|
date | Thu, 03 Mar 2011 11:35:50 +0100 |
parents | 1216415d8e35 |
children | 063382f9b575 |
comparison
equal
deleted
inserted
replaced
2363:c93aa6caa02f | 2364:04d1138b4cce |
---|---|
305 // The only time we care about recording cards that | 305 // The only time we care about recording cards that |
306 // contain references that point into the collection set | 306 // contain references that point into the collection set |
307 // is during RSet updating within an evacuation pause. | 307 // is during RSet updating within an evacuation pause. |
308 // In this case worker_i should be the id of a GC worker thread. | 308 // In this case worker_i should be the id of a GC worker thread. |
309 assert(SafepointSynchronize::is_at_safepoint(), "not during an evacuation pause"); | 309 assert(SafepointSynchronize::is_at_safepoint(), "not during an evacuation pause"); |
310 assert(worker_i < (int) DirtyCardQueueSet::num_par_ids(), "should be a GC worker"); | 310 assert(worker_i < (int) (ParallelGCThreads == 0 ? 1 : ParallelGCThreads), "should be a GC worker"); |
311 | 311 |
312 if (_g1rs->concurrentRefineOneCard(card_ptr, worker_i, true)) { | 312 if (_g1rs->concurrentRefineOneCard(card_ptr, worker_i, true)) { |
313 // 'card_ptr' contains references that point into the collection | 313 // 'card_ptr' contains references that point into the collection |
314 // set. We need to record the card in the DCQS | 314 // set. We need to record the card in the DCQS |
315 // (G1CollectedHeap::into_cset_dirty_card_queue_set()) | 315 // (G1CollectedHeap::into_cset_dirty_card_queue_set()) |