< prev index next >

src/hotspot/share/gc/g1/g1ConcurrentMark.cpp

Print this page
rev 50850 : 8203030: Zero s390 31 bit size_t type conflicts in shared code
Summary: Cast to size_t or change to size_t foe compatibility with other archs.
Reviewed-by: Duke
Contributed-by: chrisphi


2331     // We only call this when the local queue is empty or under a
2332     // given target limit. So, we do not expect this push to fail.
2333     assert(success, "invariant");
2334   }
2335 
2336   // This operation was quite expensive, so decrease the limits
2337   decrease_limits();
2338   return true;
2339 }
2340 
2341 void G1CMTask::drain_local_queue(bool partially) {
2342   if (has_aborted()) {
2343     return;
2344   }
2345 
2346   // Decide what the target size is, depending whether we're going to
2347   // drain it partially (so that other tasks can steal if they run out
2348   // of things to do) or totally (at the very end).
2349   size_t target_size;
2350   if (partially) {
2351     target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize);
2352   } else {
2353     target_size = 0;
2354   }
2355 
2356   if (_task_queue->size() > target_size) {
2357     G1TaskQueueEntry entry;
2358     bool ret = _task_queue->pop_local(entry);
2359     while (ret) {
2360       scan_task_entry(entry);
2361       if (_task_queue->size() <= target_size || has_aborted()) {
2362         ret = false;
2363       } else {
2364         ret = _task_queue->pop_local(entry);
2365       }
2366     }
2367   }
2368 }
2369 
2370 void G1CMTask::drain_global_stack(bool partially) {
2371   if (has_aborted()) {




2331     // We only call this when the local queue is empty or under a
2332     // given target limit. So, we do not expect this push to fail.
2333     assert(success, "invariant");
2334   }
2335 
2336   // This operation was quite expensive, so decrease the limits
2337   decrease_limits();
2338   return true;
2339 }
2340 
2341 void G1CMTask::drain_local_queue(bool partially) {
2342   if (has_aborted()) {
2343     return;
2344   }
2345 
2346   // Decide what the target size is, depending whether we're going to
2347   // drain it partially (so that other tasks can steal if they run out
2348   // of things to do) or totally (at the very end).
2349   size_t target_size;
2350   if (partially) {
2351     target_size = MIN2((size_t)_task_queue->max_elems()/3, (size_t)GCDrainStackTargetSize);
2352   } else {
2353     target_size = 0;
2354   }
2355 
2356   if (_task_queue->size() > target_size) {
2357     G1TaskQueueEntry entry;
2358     bool ret = _task_queue->pop_local(entry);
2359     while (ret) {
2360       scan_task_entry(entry);
2361       if (_task_queue->size() <= target_size || has_aborted()) {
2362         ret = false;
2363       } else {
2364         ret = _task_queue->pop_local(entry);
2365       }
2366     }
2367   }
2368 }
2369 
2370 void G1CMTask::drain_global_stack(bool partially) {
2371   if (has_aborted()) {


< prev index next >