src/hotspot/share/gc/g1/g1CardLiveData.cpp
changeset 47885 5caa1d5f74c1
parent 47678 c84eeb55c55e
child 48889 216c2aabbf1f
equal deleted inserted replaced
47884:3cfab71d6c81 47885:5caa1d5f74c1
   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; }