< prev index next >

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

Print this page

 77 public:
 78   inline ShenandoahEvacuateUpdateRootsClosure();
 79   inline void do_oop(oop* p);
 80   inline void do_oop(narrowOop* p);
 81 
 82 private:
 83   template <class T>
 84   inline void do_oop_work(T* p);
 85 };
 86 
 87 class ShenandoahEvacUpdateOopStorageRootsClosure : public BasicOopIterateClosure {
 88 private:
 89   ShenandoahHeap* _heap;
 90   Thread* _thread;
 91 public:
 92   inline ShenandoahEvacUpdateOopStorageRootsClosure();
 93   inline void do_oop(oop* p);
 94   inline void do_oop(narrowOop* p);
 95 };
 96 












 97 class ShenandoahCodeBlobAndDisarmClosure: public CodeBlobToOopClosure {
 98 private:
 99   BarrierSetNMethod* const _bs;
100 
101 public:
102   inline ShenandoahCodeBlobAndDisarmClosure(OopClosure* cl);
103   inline void do_code_blob(CodeBlob* cb);
104 };
105 
106 class ShenandoahRendezvousClosure : public HandshakeClosure {
107 public:
108   inline ShenandoahRendezvousClosure();
109   inline void do_thread(Thread* thread);
110 };
111 
112 #ifdef ASSERT
113 class ShenandoahAssertNotForwardedClosure : public OopClosure {
114 private:
115   template <class T>
116   inline void do_oop_work(T* p);

 77 public:
 78   inline ShenandoahEvacuateUpdateRootsClosure();
 79   inline void do_oop(oop* p);
 80   inline void do_oop(narrowOop* p);
 81 
 82 private:
 83   template <class T>
 84   inline void do_oop_work(T* p);
 85 };
 86 
 87 class ShenandoahEvacUpdateOopStorageRootsClosure : public BasicOopIterateClosure {
 88 private:
 89   ShenandoahHeap* _heap;
 90   Thread* _thread;
 91 public:
 92   inline ShenandoahEvacUpdateOopStorageRootsClosure();
 93   inline void do_oop(oop* p);
 94   inline void do_oop(narrowOop* p);
 95 };
 96 
 97 template <bool CONCURRENT, typename IsAlive, typename KeepAlive>
 98 class ShenandoahCleanUpdateWeakOopsClosure : public OopClosure {
 99 private:
100   IsAlive*    _is_alive;
101   KeepAlive*  _keep_alive;
102 
103 public:
104   inline ShenandoahCleanUpdateWeakOopsClosure(IsAlive* is_alive, KeepAlive* keep_alive);
105   inline void do_oop(oop* p);
106   inline void do_oop(narrowOop* p);
107 };
108 
109 class ShenandoahCodeBlobAndDisarmClosure: public CodeBlobToOopClosure {
110 private:
111   BarrierSetNMethod* const _bs;
112 
113 public:
114   inline ShenandoahCodeBlobAndDisarmClosure(OopClosure* cl);
115   inline void do_code_blob(CodeBlob* cb);
116 };
117 
118 class ShenandoahRendezvousClosure : public HandshakeClosure {
119 public:
120   inline ShenandoahRendezvousClosure();
121   inline void do_thread(Thread* thread);
122 };
123 
124 #ifdef ASSERT
125 class ShenandoahAssertNotForwardedClosure : public OopClosure {
126 private:
127   template <class T>
128   inline void do_oop_work(T* p);
< prev index next >