186 void reset();
187
188 void flush_labs();
189 void drain_stacks(bool totally_drain) {
190 drain_stacks_depth(totally_drain);
191 }
192 public:
193 void drain_stacks_cond_depth() {
194 if (claimed_stack_depth()->size() > _target_stack_size) {
195 drain_stacks_depth(false);
196 }
197 }
198 void drain_stacks_depth(bool totally_drain);
199
200 bool stacks_empty() {
201 return claimed_stack_depth()->is_empty();
202 }
203
204 inline void process_popped_location_depth(StarTask p);
205
206 template <class T> inline void claim_or_forward_depth(T* p);
207
208 TASKQUEUE_STATS_ONLY(inline void record_steal(StarTask& p);)
209 };
210
211 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSPROMOTIONMANAGER_HPP
|
186 void reset();
187
188 void flush_labs();
189 void drain_stacks(bool totally_drain) {
190 drain_stacks_depth(totally_drain);
191 }
192 public:
193 void drain_stacks_cond_depth() {
194 if (claimed_stack_depth()->size() > _target_stack_size) {
195 drain_stacks_depth(false);
196 }
197 }
198 void drain_stacks_depth(bool totally_drain);
199
200 bool stacks_empty() {
201 return claimed_stack_depth()->is_empty();
202 }
203
204 inline void process_popped_location_depth(StarTask p);
205
206 static bool should_scavenge(oop* p, bool check_to_space = false);
207 static bool should_scavenge(narrowOop* p, bool check_to_space = false);
208
209 template <class T, bool promote_immediately>
210 void copy_and_push_safe_barrier(T* p);
211
212 template <class T> inline void claim_or_forward_depth(T* p);
213
214 TASKQUEUE_STATS_ONLY(inline void record_steal(StarTask& p);)
215 };
216
217 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PSPROMOTIONMANAGER_HPP
|