< prev index next >

src/hotspot/share/gc/serial/markSweep.hpp

Print this page




 174 public:
 175   template <typename T> void do_oop_work(T* p);
 176   virtual void do_oop(oop* p);
 177   virtual void do_oop(narrowOop* p);
 178 
 179   virtual bool do_metadata() { return true; }
 180   virtual void do_klass(Klass* k);
 181   virtual void do_cld(ClassLoaderData* cld);
 182 
 183   void set_ref_discoverer(ReferenceDiscoverer* rd) {
 184     set_ref_discoverer_internal(rd);
 185   }
 186 };
 187 
 188 class AdjustPointerClosure: public BasicOopsInGenClosure {
 189  public:
 190   template <typename T> void do_oop_work(T* p);
 191   virtual void do_oop(oop* p);
 192   virtual void do_oop(narrowOop* p);
 193   virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }
 194 
 195   // This closure provides its own oop verification code.
 196   debug_only(virtual bool should_verify_oops() { return false; })
 197 };
 198 
 199 class PreservedMark {
 200 private:
 201   oop _obj;
 202   markWord _mark;
 203 
 204 public:
 205   void init(oop obj, markWord mark) {
 206     _obj = obj;
 207     _mark = mark;
 208   }
 209 
 210   void adjust_pointer();
 211   void restore();
 212 };
 213 
 214 #endif // SHARE_GC_SERIAL_MARKSWEEP_HPP


 174 public:
 175   template <typename T> void do_oop_work(T* p);
 176   virtual void do_oop(oop* p);
 177   virtual void do_oop(narrowOop* p);
 178 
 179   virtual bool do_metadata() { return true; }
 180   virtual void do_klass(Klass* k);
 181   virtual void do_cld(ClassLoaderData* cld);
 182 
 183   void set_ref_discoverer(ReferenceDiscoverer* rd) {
 184     set_ref_discoverer_internal(rd);
 185   }
 186 };
 187 
 188 class AdjustPointerClosure: public BasicOopsInGenClosure {
 189  public:
 190   template <typename T> void do_oop_work(T* p);
 191   virtual void do_oop(oop* p);
 192   virtual void do_oop(narrowOop* p);
 193   virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; }



 194 };
 195 
 196 class PreservedMark {
 197 private:
 198   oop _obj;
 199   markWord _mark;
 200 
 201 public:
 202   void init(oop obj, markWord mark) {
 203     _obj = obj;
 204     _mark = mark;
 205   }
 206 
 207   void adjust_pointer();
 208   void restore();
 209 };
 210 
 211 #endif // SHARE_GC_SERIAL_MARKSWEEP_HPP
< prev index next >