< prev index next >

src/share/vm/gc_implementation/shenandoah/shenandoahWorkGroup.hpp

Print this page
rev 10522 : [backport] Added logging for the number of workers used for GC cycles


  17  *
  18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  19  * or visit www.oracle.com if you need additional information or have any
  20  * questions.
  21  *
  22  */
  23 
  24 #ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAH_WORKGROUP_HPP
  25 #define SHARE_VM_GC_SHENANDOAH_SHENANDOAH_WORKGROUP_HPP
  26  
  27 #include "utilities/workgroup.hpp"
  28 #include "memory/allocation.hpp"
  29 
  30 class ShenandoahWorkGang;
  31 
  32 class ShenandoahWorkerScope : public StackObj {
  33 private:
  34   uint      _n_workers;
  35   ShenandoahWorkGang* _workers;
  36 public:
  37   ShenandoahWorkerScope(ShenandoahWorkGang* workers, uint nworkers);
  38   ~ShenandoahWorkerScope();
  39 };
  40 
  41 
  42 class ShenandoahPushWorkerScope : StackObj {
  43 private:
  44   uint      _n_workers;
  45   uint      _old_workers;
  46   ShenandoahWorkGang* _workers;
  47 
  48 public:
  49   ShenandoahPushWorkerScope(ShenandoahWorkGang* workers, uint nworkers, bool do_check = true);
  50   ~ShenandoahPushWorkerScope();
  51 };
  52 
  53 
  54 class ShenandoahWorkGang : public FlexibleWorkGang {
  55 public:
  56   ShenandoahWorkGang(const char* name, uint workers,
  57                    bool are_GC_task_threads,


  17  *
  18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  19  * or visit www.oracle.com if you need additional information or have any
  20  * questions.
  21  *
  22  */
  23 
  24 #ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAH_WORKGROUP_HPP
  25 #define SHARE_VM_GC_SHENANDOAH_SHENANDOAH_WORKGROUP_HPP
  26  
  27 #include "utilities/workgroup.hpp"
  28 #include "memory/allocation.hpp"
  29 
  30 class ShenandoahWorkGang;
  31 
  32 class ShenandoahWorkerScope : public StackObj {
  33 private:
  34   uint      _n_workers;
  35   ShenandoahWorkGang* _workers;
  36 public:
  37   ShenandoahWorkerScope(ShenandoahWorkGang* workers, uint nworkers, const char* msg);
  38   ~ShenandoahWorkerScope();
  39 };
  40 
  41 
  42 class ShenandoahPushWorkerScope : StackObj {
  43 private:
  44   uint      _n_workers;
  45   uint      _old_workers;
  46   ShenandoahWorkGang* _workers;
  47 
  48 public:
  49   ShenandoahPushWorkerScope(ShenandoahWorkGang* workers, uint nworkers, bool do_check = true);
  50   ~ShenandoahPushWorkerScope();
  51 };
  52 
  53 
  54 class ShenandoahWorkGang : public FlexibleWorkGang {
  55 public:
  56   ShenandoahWorkGang(const char* name, uint workers,
  57                    bool are_GC_task_threads,
< prev index next >