< prev index next >
src/hotspot/share/gc/g1/g1CollectedHeap.cpp
Print this page
*** 2298,2307 ****
--- 2298,2331 ----
void G1CollectedHeap::object_iterate(ObjectClosure* cl) {
IterateObjectClosureRegionClosure blk(cl);
heap_region_iterate(&blk);
}
+ class G1ParallelObjectIterator : public ParallelObjectIterator {
+ private:
+ G1CollectedHeap* _heap;
+ HeapRegionClaimer _claimer;
+
+ public:
+ G1ParallelObjectIterator(uint thread_num) :
+ _heap(G1CollectedHeap::heap()),
+ _claimer(thread_num == 0 ? G1CollectedHeap::heap()->workers()->active_workers() : thread_num) {}
+
+ virtual void object_iterate(ObjectClosure* cl, uint worker_id) {
+ _heap->object_iterate_parallel(cl, worker_id, &_claimer);
+ }
+ };
+
+ ParallelObjectIterator* G1CollectedHeap::parallel_object_iterator(uint thread_num) {
+ return new G1ParallelObjectIterator(thread_num);
+ }
+
+ void G1CollectedHeap::object_iterate_parallel(ObjectClosure* cl, uint worker_id, HeapRegionClaimer* claimer) {
+ IterateObjectClosureRegionClosure blk(cl);
+ heap_region_par_iterate_from_worker_offset(&blk, claimer, worker_id);
+ }
+
void G1CollectedHeap::keep_alive(oop obj) {
G1BarrierSet::enqueue(obj);
}
void G1CollectedHeap::heap_region_iterate(HeapRegionClosure* cl) const {
*** 4917,4945 ****
}
GrowableArray<MemoryPool*> G1CollectedHeap::memory_pools() {
return _g1mm->memory_pools();
}
-
- class G1ParallelObjectIterator : public ParallelObjectIterator {
- private:
- G1CollectedHeap* _heap;
- HeapRegionClaimer _claimer;
-
- public:
- G1ParallelObjectIterator(uint thread_num) :
- _heap(G1CollectedHeap::heap()),
- _claimer(thread_num == 0 ? G1CollectedHeap::heap()->workers()->active_workers() : thread_num) {}
-
- virtual void object_iterate(ObjectClosure* cl, uint worker_id) {
- _heap->object_iterate_parallel(cl, worker_id, &_claimer);
- }
- };
-
- ParallelObjectIterator* G1CollectedHeap::parallel_object_iterator(uint thread_num) {
- return new G1ParallelObjectIterator(thread_num);
- }
-
- void G1CollectedHeap::object_iterate_parallel(ObjectClosure* cl, uint worker_id, HeapRegionClaimer* claimer) {
- IterateObjectClosureRegionClosure blk(cl);
- heap_region_par_iterate_from_worker_offset(&blk, claimer, worker_id);
- }
--- 4941,4945 ----
< prev index next >