< prev index next >

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

Print this page

 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;
 98   VerifyOption     _verify_option;
 99 

 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 template <bool ALT_FWD>
 81 class G1AdjustClosure : public BasicOopIterateClosure {
 82   G1FullCollector* _collector;
 83 
 84   template <class T> inline void adjust_pointer(T* p);
 85 public:
 86   G1AdjustClosure(G1FullCollector* collector) : _collector(collector) { }
 87   template <class T> void do_oop_work(T* p) { adjust_pointer(p); }
 88   virtual void do_oop(oop* p);
 89   virtual void do_oop(narrowOop* p);
 90 
 91   virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
 92 };
 93 
 94 class G1VerifyOopClosure: public BasicOopIterateClosure {
 95 private:
 96   G1CollectedHeap* _g1h;
 97   bool             _failures;
 98   oop              _containing_obj;
 99   VerifyOption     _verify_option;
100 
< prev index next >