< prev index next >

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

Print this page
rev 57734 : 8236880: Shenandoah: Move string dedup cleanup into concurrent phase


 171 
 172 class ShenandoahThreadRoots {
 173 private:
 174   const bool _is_par;
 175 public:
 176   ShenandoahThreadRoots(bool is_par);
 177   ~ShenandoahThreadRoots();
 178 
 179   void oops_do(OopClosure* oops_cl, CodeBlobClosure* code_cl, uint worker_id);
 180   void threads_do(ThreadClosure* tc, uint worker_id);
 181 };
 182 
 183 class ShenandoahStringDedupRoots {
 184 public:
 185   ShenandoahStringDedupRoots();
 186   ~ShenandoahStringDedupRoots();
 187 
 188   void oops_do(BoolObjectClosure* is_alive, OopClosure* keep_alive, uint worker_id);
 189 };
 190 








 191 template <typename ITR>
 192 class ShenandoahCodeCacheRoots {
 193 private:
 194   ITR _coderoots_iterator;
 195 public:
 196   ShenandoahCodeCacheRoots();
 197   ~ShenandoahCodeCacheRoots();
 198 
 199   void code_blobs_do(CodeBlobClosure* blob_cl, uint worker_id);
 200 };
 201 
 202 template <bool CONCURRENT, bool SINGLE_THREADED>
 203 class ShenandoahClassLoaderDataRoots {
 204 public:
 205   ShenandoahClassLoaderDataRoots();
 206   ~ShenandoahClassLoaderDataRoots();
 207 
 208   void always_strong_cld_do(CLDClosure* clds, uint worker_id = 0);
 209   void cld_do(CLDClosure* clds, uint worker_id = 0);
 210 };




 171 
 172 class ShenandoahThreadRoots {
 173 private:
 174   const bool _is_par;
 175 public:
 176   ShenandoahThreadRoots(bool is_par);
 177   ~ShenandoahThreadRoots();
 178 
 179   void oops_do(OopClosure* oops_cl, CodeBlobClosure* code_cl, uint worker_id);
 180   void threads_do(ThreadClosure* tc, uint worker_id);
 181 };
 182 
 183 class ShenandoahStringDedupRoots {
 184 public:
 185   ShenandoahStringDedupRoots();
 186   ~ShenandoahStringDedupRoots();
 187 
 188   void oops_do(BoolObjectClosure* is_alive, OopClosure* keep_alive, uint worker_id);
 189 };
 190 
 191 class ShenandoahConcurrentStringDedupRoots {
 192 public:
 193   ShenandoahConcurrentStringDedupRoots();
 194   ~ShenandoahConcurrentStringDedupRoots();
 195 
 196   void oops_do(BoolObjectClosure* is_alive, OopClosure* keep_alive, uint worker_id);
 197 };
 198 
 199 template <typename ITR>
 200 class ShenandoahCodeCacheRoots {
 201 private:
 202   ITR _coderoots_iterator;
 203 public:
 204   ShenandoahCodeCacheRoots();
 205   ~ShenandoahCodeCacheRoots();
 206 
 207   void code_blobs_do(CodeBlobClosure* blob_cl, uint worker_id);
 208 };
 209 
 210 template <bool CONCURRENT, bool SINGLE_THREADED>
 211 class ShenandoahClassLoaderDataRoots {
 212 public:
 213   ShenandoahClassLoaderDataRoots();
 214   ~ShenandoahClassLoaderDataRoots();
 215 
 216   void always_strong_cld_do(CLDClosure* clds, uint worker_id = 0);
 217   void cld_do(CLDClosure* clds, uint worker_id = 0);
 218 };


< prev index next >