equal
deleted
inserted
replaced
312 SuspendibleThreadSetJoiner sts_join; |
312 SuspendibleThreadSetJoiner sts_join; |
313 |
313 |
314 G1CollectedHeap* g1h = G1CollectedHeap::heap(); |
314 G1CollectedHeap* g1h = G1CollectedHeap::heap(); |
315 G1ConcurrentMark* cm = g1h->concurrent_mark(); |
315 G1ConcurrentMark* cm = g1h->concurrent_mark(); |
316 G1CreateLiveDataClosure cl(g1h, cm, cm->next_mark_bitmap(), _live_data); |
316 G1CreateLiveDataClosure cl(g1h, cm, cm->next_mark_bitmap(), _live_data); |
317 g1h->heap_region_par_iterate(&cl, worker_id, &_hr_claimer); |
317 g1h->heap_region_par_iterate_from_worker_offset(&cl, &_hr_claimer, worker_id); |
318 } |
318 } |
319 }; |
319 }; |
320 |
320 |
321 void G1CardLiveData::create(WorkGang* workers, G1CMBitMap* mark_bitmap) { |
321 void G1CardLiveData::create(WorkGang* workers, G1CMBitMap* mark_bitmap) { |
322 _gc_timestamp_at_create = G1CollectedHeap::heap()->get_gc_time_stamp(); |
322 _gc_timestamp_at_create = G1CollectedHeap::heap()->get_gc_time_stamp(); |
379 } |
379 } |
380 |
380 |
381 void work(uint worker_id) { |
381 void work(uint worker_id) { |
382 G1FinalizeCardLiveDataClosure cl(G1CollectedHeap::heap(), _bitmap, _live_data); |
382 G1FinalizeCardLiveDataClosure cl(G1CollectedHeap::heap(), _bitmap, _live_data); |
383 |
383 |
384 G1CollectedHeap::heap()->heap_region_par_iterate(&cl, worker_id, &_hr_claimer); |
384 G1CollectedHeap::heap()->heap_region_par_iterate_from_worker_offset(&cl, &_hr_claimer, worker_id); |
385 } |
385 } |
386 }; |
386 }; |
387 |
387 |
388 void G1CardLiveData::finalize(WorkGang* workers, G1CMBitMap* mark_bitmap) { |
388 void G1CardLiveData::finalize(WorkGang* workers, G1CMBitMap* mark_bitmap) { |
389 // Finalize the live data. |
389 // Finalize the live data. |
558 void work(uint worker_id) { |
558 void work(uint worker_id) { |
559 G1VerifyCardLiveDataClosure cl(_g1h, |
559 G1VerifyCardLiveDataClosure cl(_g1h, |
560 _mark_bitmap, |
560 _mark_bitmap, |
561 _act_live_data, |
561 _act_live_data, |
562 &_exp_live_data); |
562 &_exp_live_data); |
563 _g1h->heap_region_par_iterate(&cl, worker_id, &_hr_claimer); |
563 _g1h->heap_region_par_iterate_from_worker_offset(&cl, &_hr_claimer, worker_id); |
564 |
564 |
565 Atomic::add(cl.failures(), &_failures); |
565 Atomic::add(cl.failures(), &_failures); |
566 } |
566 } |
567 |
567 |
568 int failures() const { return _failures; } |
568 int failures() const { return _failures; } |