18 * |
18 * |
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 * |
22 * |
23 */ |
|
24 |
|
25 /* |
|
26 * This file has been modified by Loongson Technology in 2015. These |
|
27 * modifications are Copyright (c) 2015 Loongson Technology, and are made |
|
28 * available on the same license terms set forth above. |
|
29 */ |
23 */ |
30 |
24 |
31 #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSTASKS_HPP |
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSTASKS_HPP |
32 #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSTASKS_HPP |
26 #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSTASKS_HPP |
33 |
27 |
90 class ThreadRootsTask : public GCTask { |
84 class ThreadRootsTask : public GCTask { |
91 private: |
85 private: |
92 JavaThread* _java_thread; |
86 JavaThread* _java_thread; |
93 VMThread* _vm_thread; |
87 VMThread* _vm_thread; |
94 public: |
88 public: |
95 ThreadRootsTask(JavaThread* root) : _java_thread(root), _vm_thread(NULL) {set_task_numa_id(root->lgrp_id());} |
89 ThreadRootsTask(JavaThread* root) : _java_thread(root), _vm_thread(NULL) {} |
96 ThreadRootsTask(VMThread* root) : _java_thread(NULL), _vm_thread(root) {set_task_numa_id(root->lgrp_id());} |
90 ThreadRootsTask(VMThread* root) : _java_thread(NULL), _vm_thread(root) {} |
97 |
91 |
98 char* name() { return (char *)"thread-roots-task"; } |
92 char* name() { return (char *)"thread-roots-task"; } |
99 |
93 |
100 virtual void do_it(GCTaskManager* manager, uint which); |
94 virtual void do_it(GCTaskManager* manager, uint which); |
101 }; |
95 }; |
177 uint stripe_number, |
171 uint stripe_number, |
178 uint stripe_total) : |
172 uint stripe_total) : |
179 _gen(gen), |
173 _gen(gen), |
180 _gen_top(gen_top), |
174 _gen_top(gen_top), |
181 _stripe_number(stripe_number), |
175 _stripe_number(stripe_number), |
182 _stripe_total(stripe_total) {set_task_numa_id(-1);} |
176 _stripe_total(stripe_total) { } |
183 |
177 |
184 char* name() { return (char *)"old-to-young-roots-task"; } |
178 char* name() { return (char *)"old-to-young-roots-task"; } |
185 |
179 |
186 virtual void do_it(GCTaskManager* manager, uint which); |
180 virtual void do_it(GCTaskManager* manager, uint which); |
187 }; |
181 }; |
188 |
182 |
189 class OldToYoungRootsTask_OldNUMA : public GCTask { |
|
190 private: |
|
191 PSOldGen* _gen; |
|
192 HeapWord** _gen_top; |
|
193 uint _stripe_number; |
|
194 uint _stripe_total; |
|
195 |
|
196 public: |
|
197 OldToYoungRootsTask_OldNUMA(PSOldGen *gen, |
|
198 HeapWord** gen_top, |
|
199 uint stripe_number, |
|
200 uint stripe_total) : |
|
201 _gen(gen), |
|
202 _gen_top(gen_top), |
|
203 _stripe_number(stripe_number), |
|
204 _stripe_total(stripe_total) {set_task_numa_id(-1);} |
|
205 |
|
206 char* name() { return (char *)"OldNUMA-old-to-young-roots-task"; } |
|
207 |
|
208 virtual void do_it(GCTaskManager* manager, uint which); |
|
209 }; |
|
210 |
|
211 |
|
212 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSTASKS_HPP |
183 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSTASKS_HPP |