< prev index next >
src/hotspot/share/gc/g1/g1CollectedHeap.cpp
Print this page
@@ -2298,10 +2298,34 @@
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,29 +4941,5 @@
}
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);
-}
< prev index next >