< prev index next >

src/share/vm/gc/shenandoah/shenandoahOopClosures.hpp

Print this page
rev 13131 : Improve inlining of the root scanning closure in partial GC.


 165   virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
 166   virtual void do_oop(oop* p)       { do_oop_nv(p); }
 167   inline bool do_metadata_nv()      { return true; }
 168   virtual bool do_metadata()        { return true; }
 169 };
 170 
 171 class ShenandoahUpdateHeapRefsClosure : public ExtendedOopClosure {
 172 private:
 173   ShenandoahHeap* _heap;
 174 public:
 175   ShenandoahUpdateHeapRefsClosure() :
 176     _heap(ShenandoahHeap::heap()) {}
 177 
 178   template <class T>
 179   void do_oop_nv(T* p);
 180 
 181   virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
 182   virtual void do_oop(oop* p)       { do_oop_nv(p); }
 183 };
 184 
















 185 
 186 #endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_HPP


 165   virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
 166   virtual void do_oop(oop* p)       { do_oop_nv(p); }
 167   inline bool do_metadata_nv()      { return true; }
 168   virtual bool do_metadata()        { return true; }
 169 };
 170 
 171 class ShenandoahUpdateHeapRefsClosure : public ExtendedOopClosure {
 172 private:
 173   ShenandoahHeap* _heap;
 174 public:
 175   ShenandoahUpdateHeapRefsClosure() :
 176     _heap(ShenandoahHeap::heap()) {}
 177 
 178   template <class T>
 179   void do_oop_nv(T* p);
 180 
 181   virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
 182   virtual void do_oop(oop* p)       { do_oop_nv(p); }
 183 };
 184 
 185 class PartialEvacuateUpdateHeapClosure : public ExtendedOopClosure {
 186   ShenandoahPartialGC* _partial_gc;
 187   Thread* _thread;
 188   SCMObjToScanQueue* _queue;
 189 public:
 190   PartialEvacuateUpdateHeapClosure(SCMObjToScanQueue* q) :
 191     _partial_gc(ShenandoahHeap::heap()->partial_gc()),
 192     _thread(Thread::current()), _queue(q) {}
 193 
 194   template <class T>
 195   void do_oop_nv(T* p);
 196 
 197   void do_oop(oop* p) { do_oop_nv(p); }
 198   void do_oop(narrowOop* p) { do_oop_nv(p); }
 199 };
 200 
 201 
 202 #endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_HPP
< prev index next >