src/share/vm/gc/g1/g1HeapVerifier.cpp
Print this page
@@ -307,36 +307,32 @@
}
};
// This is the task used for parallel verification of the heap regions
-class G1ParVerifyTask: public AbstractGangTask {
+class G1ParVerifyTask: public G1ParallelizeByRegionsTask {
private:
- G1CollectedHeap* _g1h;
VerifyOption _vo;
bool _failures;
- HeapRegionClaimer _hrclaimer;
public:
// _vo == UsePrevMarking -> use "prev" marking information,
// _vo == UseNextMarking -> use "next" marking information,
// _vo == UseMarkWord -> use mark word from object header.
G1ParVerifyTask(G1CollectedHeap* g1h, VerifyOption vo) :
- AbstractGangTask("Parallel verify task"),
- _g1h(g1h),
+ G1ParallelizeByRegionsTask("Parallel verify task", g1h->workers()->active_workers()),
_vo(vo),
- _failures(false),
- _hrclaimer(g1h->workers()->active_workers()) {}
+ _failures(false) {}
bool failures() {
return _failures;
}
void work(uint worker_id) {
HandleMark hm;
VerifyRegionClosure blk(true, _vo);
- _g1h->heap_region_par_iterate(&blk, worker_id, &_hrclaimer);
+ all_heap_regions_work(&blk, worker_id);
if (blk.failures()) {
_failures = true;
}
}
};