< prev index next >

src/hotspot/share/memory/iterator.hpp

Print this page
rev 50307 : [mq]: cont


 118   // Can be used by subclasses to turn off the default verification of oop fields.
 119   virtual bool should_verify_oops() { return true; }
 120 #endif
 121 };
 122 
 123 // Wrapper closure only used to implement oop_iterate_no_header().
 124 class NoHeaderExtendedOopClosure : public ExtendedOopClosure {
 125   OopClosure* _wrapped_closure;
 126  public:
 127   NoHeaderExtendedOopClosure(OopClosure* cl) : _wrapped_closure(cl) {}
 128   // Warning: this calls the virtual version do_oop in the the wrapped closure.
 129   void do_oop_nv(oop* p)       { _wrapped_closure->do_oop(p); }
 130   void do_oop_nv(narrowOop* p) { _wrapped_closure->do_oop(p); }
 131 
 132   void do_oop(oop* p)          { assert(false, "Only the _nv versions should be used");
 133                                  _wrapped_closure->do_oop(p); }
 134   void do_oop(narrowOop* p)    { assert(false, "Only the _nv versions should be used");
 135                                  _wrapped_closure->do_oop(p);}
 136 };
 137 





 138 class KlassClosure : public Closure {
 139  public:
 140   virtual void do_klass(Klass* k) = 0;
 141 };
 142 
 143 class CLDClosure : public Closure {
 144  public:
 145   virtual void do_cld(ClassLoaderData* cld) = 0;
 146 };
 147 
 148 
 149 class CLDToOopClosure : public CLDClosure {
 150   OopClosure*       _oop_closure;
 151   bool              _must_claim_cld;
 152 
 153  public:
 154   CLDToOopClosure(OopClosure* oop_closure, bool must_claim_cld = true) :
 155       _oop_closure(oop_closure),
 156       _must_claim_cld(must_claim_cld) {}
 157 




 118   // Can be used by subclasses to turn off the default verification of oop fields.
 119   virtual bool should_verify_oops() { return true; }
 120 #endif
 121 };
 122 
 123 // Wrapper closure only used to implement oop_iterate_no_header().
 124 class NoHeaderExtendedOopClosure : public ExtendedOopClosure {
 125   OopClosure* _wrapped_closure;
 126  public:
 127   NoHeaderExtendedOopClosure(OopClosure* cl) : _wrapped_closure(cl) {}
 128   // Warning: this calls the virtual version do_oop in the the wrapped closure.
 129   void do_oop_nv(oop* p)       { _wrapped_closure->do_oop(p); }
 130   void do_oop_nv(narrowOop* p) { _wrapped_closure->do_oop(p); }
 131 
 132   void do_oop(oop* p)          { assert(false, "Only the _nv versions should be used");
 133                                  _wrapped_closure->do_oop(p); }
 134   void do_oop(narrowOop* p)    { assert(false, "Only the _nv versions should be used");
 135                                  _wrapped_closure->do_oop(p);}
 136 };
 137 
 138 class DerivedOopClosure : public Closure {
 139  public:
 140   virtual void do_derived_oop(oop* base, oop* derived) = 0;
 141 };
 142 
 143 class KlassClosure : public Closure {
 144  public:
 145   virtual void do_klass(Klass* k) = 0;
 146 };
 147 
 148 class CLDClosure : public Closure {
 149  public:
 150   virtual void do_cld(ClassLoaderData* cld) = 0;
 151 };
 152 
 153 
 154 class CLDToOopClosure : public CLDClosure {
 155   OopClosure*       _oop_closure;
 156   bool              _must_claim_cld;
 157 
 158  public:
 159   CLDToOopClosure(OopClosure* oop_closure, bool must_claim_cld = true) :
 160       _oop_closure(oop_closure),
 161       _must_claim_cld(must_claim_cld) {}
 162 


< prev index next >