< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp

Print this page

224   virtual void do_oop(narrowOop* p) { work(p); }
225   virtual void do_oop(oop* p)       { work(p); }
226 };
227 
228 
229 class ShenandoahFlushSATB : public ThreadClosure {
230 private:
231   SATBMarkQueueSet& _satb_qset;
232 
233 public:
234   explicit ShenandoahFlushSATB(SATBMarkQueueSet& satb_qset) : _satb_qset(satb_qset) {}
235 
236   inline void do_thread(Thread* thread) override;
237 };
238 
239 
240 //
241 // ========= Utilities
242 //
243 






244 #ifdef ASSERT
245 class ShenandoahAssertNotForwardedClosure : public OopClosure {
246 private:
247   template <class T>
248   inline void do_oop_work(T* p);
249 
250 public:
251   inline void do_oop(narrowOop* p);
252   inline void do_oop(oop* p);
253 };
254 #endif // ASSERT
255 
256 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHCLOSURES_HPP

224   virtual void do_oop(narrowOop* p) { work(p); }
225   virtual void do_oop(oop* p)       { work(p); }
226 };
227 
228 
229 class ShenandoahFlushSATB : public ThreadClosure {
230 private:
231   SATBMarkQueueSet& _satb_qset;
232 
233 public:
234   explicit ShenandoahFlushSATB(SATBMarkQueueSet& satb_qset) : _satb_qset(satb_qset) {}
235 
236   inline void do_thread(Thread* thread) override;
237 };
238 
239 
240 //
241 // ========= Utilities
242 //
243 
244 class ShenandoahNoOpClosure : public OopClosure {
245 public:
246   inline void do_oop(oop* p)       { }
247   inline void do_oop(narrowOop* p) { }
248 };
249 
250 #ifdef ASSERT
251 class ShenandoahAssertNotForwardedClosure : public OopClosure {
252 private:
253   template <class T>
254   inline void do_oop_work(T* p);
255 
256 public:
257   inline void do_oop(narrowOop* p);
258   inline void do_oop(oop* p);
259 };
260 #endif // ASSERT
261 
262 #endif // SHARE_GC_SHENANDOAH_SHENANDOAHCLOSURES_HPP
< prev index next >