src/hotspot/share/gc/g1/g1ConcurrentRefine.cpp
changeset 57507 f6b30bd6804e
parent 55510 3e31a8beaae4
child 57953 d78c910f9069
equal deleted inserted replaced
57506:36e4e50b4255 57507:f6b30bd6804e
   395       dcqs.set_process_completed_buffers_threshold(activate);
   395       dcqs.set_process_completed_buffers_threshold(activate);
   396     }
   396     }
   397     dcqs.set_max_completed_buffers(red_zone());
   397     dcqs.set_max_completed_buffers(red_zone());
   398   }
   398   }
   399 
   399 
   400   size_t curr_queue_size = dcqs.completed_buffers_num();
   400   size_t curr_queue_size = dcqs.num_completed_buffers();
   401   if ((dcqs.max_completed_buffers() > 0) &&
   401   if ((dcqs.max_completed_buffers() > 0) &&
   402       (curr_queue_size >= yellow_zone())) {
   402       (curr_queue_size >= yellow_zone())) {
   403     dcqs.set_completed_buffers_padding(curr_queue_size);
   403     dcqs.set_completed_buffers_padding(curr_queue_size);
   404   } else {
   404   } else {
   405     dcqs.set_completed_buffers_padding(0);
   405     dcqs.set_completed_buffers_padding(0);
   428 }
   428 }
   429 
   429 
   430 bool G1ConcurrentRefine::do_refinement_step(uint worker_id) {
   430 bool G1ConcurrentRefine::do_refinement_step(uint worker_id) {
   431   G1DirtyCardQueueSet& dcqs = G1BarrierSet::dirty_card_queue_set();
   431   G1DirtyCardQueueSet& dcqs = G1BarrierSet::dirty_card_queue_set();
   432 
   432 
   433   size_t curr_buffer_num = dcqs.completed_buffers_num();
   433   size_t curr_buffer_num = dcqs.num_completed_buffers();
   434   // If the number of the buffers falls down into the yellow zone,
   434   // If the number of the buffers falls down into the yellow zone,
   435   // that means that the transition period after the evacuation pause has ended.
   435   // that means that the transition period after the evacuation pause has ended.
   436   // Since the value written to the DCQS is the same for all threads, there is no
   436   // Since the value written to the DCQS is the same for all threads, there is no
   437   // need to synchronize.
   437   // need to synchronize.
   438   if (dcqs.completed_buffers_padding() > 0 && curr_buffer_num <= yellow_zone()) {
   438   if (dcqs.completed_buffers_padding() > 0 && curr_buffer_num <= yellow_zone()) {