equal
deleted
inserted
replaced
261 // stack, we should have definitely removed some entries from the |
261 // stack, we should have definitely removed some entries from the |
262 // local queue. So, there must be space on it. |
262 // local queue. So, there must be space on it. |
263 bool success = _task_queue->push(obj); |
263 bool success = _task_queue->push(obj); |
264 assert(success, "invariant"); |
264 assert(success, "invariant"); |
265 } |
265 } |
266 |
|
267 statsOnly( size_t tmp_size = (size_t)_task_queue->size(); |
|
268 if (tmp_size > _local_max_size) { |
|
269 _local_max_size = tmp_size; |
|
270 } |
|
271 ++_local_pushes ); |
|
272 } |
266 } |
273 |
267 |
274 inline bool CMTask::is_below_finger(oop obj, HeapWord* global_finger) const { |
268 inline bool CMTask::is_below_finger(oop obj, HeapWord* global_finger) const { |
275 // If obj is above the global finger, then the mark bitmap scan |
269 // If obj is above the global finger, then the mark bitmap scan |
276 // will find it later, and no push is needed. Similarly, if we have |
270 // will find it later, and no push is needed. Similarly, if we have |
315 _words_scanned += obj_size; |
309 _words_scanned += obj_size; |
316 |
310 |
317 if (scan) { |
311 if (scan) { |
318 obj->oop_iterate(_cm_oop_closure); |
312 obj->oop_iterate(_cm_oop_closure); |
319 } |
313 } |
320 statsOnly( ++_objs_scanned ); |
|
321 check_limits(); |
314 check_limits(); |
322 } |
315 } |
323 |
316 |
324 |
317 |
325 |
318 |