< prev index next >

src/hotspot/share/gc/g1/g1FullGCOopClosures.hpp

Print this page

 58   virtual void do_oop(narrowOop* p);
 59 };
 60 
 61 class G1MarkAndPushClosure : public OopIterateClosure {
 62   G1FullGCMarker* _marker;
 63   uint _worker_id;
 64 
 65 public:
 66   G1MarkAndPushClosure(uint worker, G1FullGCMarker* marker, ReferenceDiscoverer* ref) :
 67     OopIterateClosure(ref),
 68     _marker(marker),
 69     _worker_id(worker) { }
 70 
 71   template <class T> inline void do_oop_work(T* p);
 72   virtual void do_oop(oop* p);
 73   virtual void do_oop(narrowOop* p);
 74 
 75   virtual bool do_metadata();
 76   virtual void do_klass(Klass* k);
 77   virtual void do_cld(ClassLoaderData* cld);


 78 };
 79 
 80 class G1AdjustClosure : public BasicOopIterateClosure {
 81   G1FullCollector* _collector;
 82 
 83   template <class T> inline void adjust_pointer(T* p);
 84 public:
 85   G1AdjustClosure(G1FullCollector* collector) : _collector(collector) { }
 86   template <class T> void do_oop_work(T* p) { adjust_pointer(p); }
 87   virtual void do_oop(oop* p);
 88   virtual void do_oop(narrowOop* p);
 89 
 90   virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
 91 };
 92 
 93 class G1VerifyOopClosure: public BasicOopIterateClosure {
 94 private:
 95   G1CollectedHeap* _g1h;
 96   bool             _failures;
 97   oop              _containing_obj;

 58   virtual void do_oop(narrowOop* p);
 59 };
 60 
 61 class G1MarkAndPushClosure : public OopIterateClosure {
 62   G1FullGCMarker* _marker;
 63   uint _worker_id;
 64 
 65 public:
 66   G1MarkAndPushClosure(uint worker, G1FullGCMarker* marker, ReferenceDiscoverer* ref) :
 67     OopIterateClosure(ref),
 68     _marker(marker),
 69     _worker_id(worker) { }
 70 
 71   template <class T> inline void do_oop_work(T* p);
 72   virtual void do_oop(oop* p);
 73   virtual void do_oop(narrowOop* p);
 74 
 75   virtual bool do_metadata();
 76   virtual void do_klass(Klass* k);
 77   virtual void do_cld(ClassLoaderData* cld);
 78   virtual void do_method(Method* m);
 79   virtual void do_nmethod(nmethod* nm);
 80 };
 81 
 82 class G1AdjustClosure : public BasicOopIterateClosure {
 83   G1FullCollector* _collector;
 84 
 85   template <class T> inline void adjust_pointer(T* p);
 86 public:
 87   G1AdjustClosure(G1FullCollector* collector) : _collector(collector) { }
 88   template <class T> void do_oop_work(T* p) { adjust_pointer(p); }
 89   virtual void do_oop(oop* p);
 90   virtual void do_oop(narrowOop* p);
 91 
 92   virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
 93 };
 94 
 95 class G1VerifyOopClosure: public BasicOopIterateClosure {
 96 private:
 97   G1CollectedHeap* _g1h;
 98   bool             _failures;
 99   oop              _containing_obj;
< prev index next >