1.1 --- a/src/share/vm/gc_implementation/g1/g1RemSet.cpp Tue Nov 22 04:47:10 2011 -0500 1.2 +++ b/src/share/vm/gc_implementation/g1/g1RemSet.cpp Tue Aug 09 10:16:01 2011 -0700 1.3 @@ -218,7 +218,7 @@ 1.4 1.5 HeapRegion* G1RemSet::calculateStartRegion(int worker_i) { 1.6 HeapRegion* result = _g1p->collection_set(); 1.7 - if (ParallelGCThreads > 0) { 1.8 + if (G1CollectedHeap::use_parallel_gc_threads()) { 1.9 size_t cs_size = _g1p->cset_region_length(); 1.10 int n_workers = _g1->workers()->total_workers(); 1.11 size_t cs_spans = cs_size / n_workers; 1.12 @@ -430,8 +430,10 @@ 1.13 DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set(); 1.14 dcqs.concatenate_logs(); 1.15 1.16 - if (ParallelGCThreads > 0) { 1.17 - _seq_task->set_n_threads((int)n_workers()); 1.18 + if (G1CollectedHeap::use_parallel_gc_threads()) { 1.19 + // Don't set the number of workers here. It will be set 1.20 + // when the task is run 1.21 + // _seq_task->set_n_termination((int)n_workers()); 1.22 } 1.23 guarantee( _cards_scanned == NULL, "invariant" ); 1.24 _cards_scanned = NEW_C_HEAP_ARRAY(size_t, n_workers()); 1.25 @@ -578,7 +580,10 @@ 1.26 void G1RemSet::scrub_par(BitMap* region_bm, BitMap* card_bm, 1.27 int worker_num, int claim_val) { 1.28 ScrubRSClosure scrub_cl(region_bm, card_bm); 1.29 - _g1->heap_region_par_iterate_chunked(&scrub_cl, worker_num, claim_val); 1.30 + _g1->heap_region_par_iterate_chunked(&scrub_cl, 1.31 + worker_num, 1.32 + (int) n_workers(), 1.33 + claim_val); 1.34 } 1.35 1.36