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_PSPROMOTIONMANAGER_HPP |
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSPROMOTIONMANAGER_HPP |
32 #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSPROMOTIONMANAGER_HPP |
26 #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSPROMOTIONMANAGER_HPP |
33 |
27 |
81 void reset_stats(); |
75 void reset_stats(); |
82 #endif // TASKQUEUE_STATS |
76 #endif // TASKQUEUE_STATS |
83 |
77 |
84 PSYoungPromotionLAB _young_lab; |
78 PSYoungPromotionLAB _young_lab; |
85 PSOldPromotionLAB _old_lab; |
79 PSOldPromotionLAB _old_lab; |
86 PSOldPromotionLAB _old_lab_oldnuma[4]; |
|
87 bool _young_gen_is_full; |
80 bool _young_gen_is_full; |
88 bool _old_gen_is_full; |
81 bool _old_gen_is_full; |
89 |
82 |
90 OopStarTaskQueue _claimed_stack_depth; |
83 OopStarTaskQueue _claimed_stack_depth; |
91 OverflowTaskQueue<oop, mtGC> _claimed_stack_breadth; |
84 OverflowTaskQueue<oop, mtGC> _claimed_stack_breadth; |
181 bool young_gen_is_full() { return _young_gen_is_full; } |
174 bool young_gen_is_full() { return _young_gen_is_full; } |
182 |
175 |
183 bool old_gen_is_full() { return _old_gen_is_full; } |
176 bool old_gen_is_full() { return _old_gen_is_full; } |
184 void set_old_gen_is_full(bool state) { _old_gen_is_full = state; } |
177 void set_old_gen_is_full(bool state) { _old_gen_is_full = state; } |
185 |
178 |
186 //Stastic methods |
|
187 int get_oop_location(oop o); |
|
188 int get_oop_node_id(oop o, int location); |
|
189 void stastic_scavenge(oop o); |
|
190 |
|
191 // Promotion methods |
179 // Promotion methods |
192 template<bool promote_immediately> oop copy_to_survivor_space(oop o); |
180 template<bool promote_immediately> oop copy_to_survivor_space(oop o); |
193 oop oop_promotion_failed(oop obj, markOop obj_mark); |
181 oop oop_promotion_failed(oop obj, markOop obj_mark); |
194 |
182 |
195 void reset(); |
183 void reset(); |