30 #include "gc/g1/g1FullGCOopClosures.hpp"
31 #include "gc/g1/g1FullGCScope.hpp"
32 #include "gc/shared/preservedMarks.hpp"
33 #include "gc/shared/referenceProcessor.hpp"
34 #include "gc/shared/taskqueue.hpp"
35 #include "memory/allocation.hpp"
36
37 class AbstractGangTask;
38 class G1CMBitMap;
39 class G1FullGCMarker;
40 class G1FullGCScope;
41 class G1FullGCCompactionPoint;
42 class GCMemoryManager;
43 class ReferenceProcessor;
44
45 // Subject-to-discovery closure for reference processing during Full GC. During
46 // Full GC the whole heap is subject to discovery.
47 class G1FullGCSubjectToDiscoveryClosure: public BoolObjectClosure {
48 public:
49 bool do_object_b(oop p) {
50 return (p != NULL);
51 }
52 };
53
54 // The G1FullCollector holds data associated with the current Full GC.
55 class G1FullCollector : StackObj {
56 G1CollectedHeap* _heap;
57 G1FullGCScope _scope;
58 uint _num_workers;
59 G1FullGCMarker** _markers;
60 G1FullGCCompactionPoint** _compaction_points;
61 OopQueueSet _oop_queue_set;
62 ObjArrayTaskQueueSet _array_queue_set;
63 PreservedMarksSet _preserved_marks_set;
64 G1FullGCCompactionPoint _serial_compaction_point;
65 G1IsAliveClosure _is_alive;
66 ReferenceProcessorIsAliveMutator _is_alive_mutator;
67
68 static uint calc_active_workers();
69
70 G1FullGCSubjectToDiscoveryClosure _always_subject_to_discovery;
|
30 #include "gc/g1/g1FullGCOopClosures.hpp"
31 #include "gc/g1/g1FullGCScope.hpp"
32 #include "gc/shared/preservedMarks.hpp"
33 #include "gc/shared/referenceProcessor.hpp"
34 #include "gc/shared/taskqueue.hpp"
35 #include "memory/allocation.hpp"
36
37 class AbstractGangTask;
38 class G1CMBitMap;
39 class G1FullGCMarker;
40 class G1FullGCScope;
41 class G1FullGCCompactionPoint;
42 class GCMemoryManager;
43 class ReferenceProcessor;
44
45 // Subject-to-discovery closure for reference processing during Full GC. During
46 // Full GC the whole heap is subject to discovery.
47 class G1FullGCSubjectToDiscoveryClosure: public BoolObjectClosure {
48 public:
49 bool do_object_b(oop p) {
50 assert(p != NULL, "must be");
51 return true;
52 }
53 };
54
55 // The G1FullCollector holds data associated with the current Full GC.
56 class G1FullCollector : StackObj {
57 G1CollectedHeap* _heap;
58 G1FullGCScope _scope;
59 uint _num_workers;
60 G1FullGCMarker** _markers;
61 G1FullGCCompactionPoint** _compaction_points;
62 OopQueueSet _oop_queue_set;
63 ObjArrayTaskQueueSet _array_queue_set;
64 PreservedMarksSet _preserved_marks_set;
65 G1FullGCCompactionPoint _serial_compaction_point;
66 G1IsAliveClosure _is_alive;
67 ReferenceProcessorIsAliveMutator _is_alive_mutator;
68
69 static uint calc_active_workers();
70
71 G1FullGCSubjectToDiscoveryClosure _always_subject_to_discovery;
|