< prev index next >
src/hotspot/share/gc/g1/g1FullCollector.hpp
Print this page
rev 49758 : imported patch 8201492-properly-implement-non-contiguous-reference-processing
*** 40,49 ****
--- 40,58 ----
class G1FullGCScope;
class G1FullGCCompactionPoint;
class GCMemoryManager;
class ReferenceProcessor;
+ // Subject-to-discovery closure for reference processing during Full GC. During
+ // Full GC the whole heap is subject to discovery.
+ class G1FullGCSubjectToDiscoveryClosure: public BoolObjectClosure {
+ public:
+ bool do_object_b(oop p) {
+ return (p != NULL);
+ }
+ };
+
// The G1FullCollector holds data associated with the current Full GC.
class G1FullCollector : StackObj {
G1CollectedHeap* _heap;
G1FullGCScope _scope;
uint _num_workers;
*** 54,63 ****
--- 63,75 ----
PreservedMarksSet _preserved_marks_set;
G1FullGCCompactionPoint _serial_compaction_point;
G1IsAliveClosure _is_alive;
ReferenceProcessorIsAliveMutator _is_alive_mutator;
+ G1FullGCSubjectToDiscoveryClosure _always_subject_to_discovery;
+ ReferenceProcessorSubjectToDiscoveryMutator _is_subject_mutator;
+
public:
G1FullCollector(G1CollectedHeap* heap, GCMemoryManager* memory_manager, bool explicit_gc, bool clear_soft_refs);
~G1FullCollector();
void prepare_collection();
< prev index next >