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,
|