src/share/vm/gc_implementation/parallelScavenge/psTasks.hpp

changeset 25
873fd82b133d
parent 1
2d8a650513c2
child 6876
710a3c8b516e
equal deleted inserted replaced
24:d2be62fdfa50 25:873fd82b133d
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
71 code_cache = 10 65 code_cache = 10
72 }; 66 };
73 private: 67 private:
74 RootType _root_type; 68 RootType _root_type;
75 public: 69 public:
76 ScavengeRootsTask(RootType value) : _root_type(value) {set_task_numa_id(-1);} 70 ScavengeRootsTask(RootType value) : _root_type(value) {}
77 71
78 char* name() { return (char *)"scavenge-roots-task"; } 72 char* name() { return (char *)"scavenge-roots-task"; }
79 73
80 virtual void do_it(GCTaskManager* manager, uint which); 74 virtual void do_it(GCTaskManager* manager, uint which);
81 }; 75 };
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

mercurial