< prev index next >

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

Print this page
rev 56112 : [mq]: lkorinth_review

@@ -89,20 +89,19 @@
   _process_completed_buffers_threshold(ProcessCompletedBuffersThresholdNever),
   _process_completed_buffers(false),
   _notify_when_complete(notify_when_complete),
   _max_completed_buffers(MaxCompletedBuffersUnlimited),
   _completed_buffers_padding(0),
-  _free_ids(new G1FreeIdSet(0, num_par_ids())),
+  _free_ids(0, num_par_ids()),
   _processed_buffers_mut(0),
   _processed_buffers_rs_thread(0)
 {
   _all_active = true;
 }
 
 G1DirtyCardQueueSet::~G1DirtyCardQueueSet() {
   abandon_completed_buffers();
-  delete _free_ids;
 }
 
 // Determines how many mutator threads can process the buffers in parallel.
 uint G1DirtyCardQueueSet::num_par_ids() {
   return (uint)os::initial_active_processor_count();

@@ -285,14 +284,14 @@
   enqueue_completed_buffer(node);
   return false;
 }
 
 bool G1DirtyCardQueueSet::mut_process_buffer(BufferNode* node) {
-  uint worker_i = _free_ids->claim_par_id(); // temporarily claim an id
+  uint worker_id = _free_ids.claim_par_id(); // temporarily claim an id
   G1RefineCardConcurrentlyClosure cl;
-  bool result = apply_closure_to_buffer(&cl, node, worker_i);
-  _free_ids->release_par_id(worker_i); // release the id
+  bool result = apply_closure_to_buffer(&cl, node, worker_id);
+  _free_ids.release_par_id(worker_id); // release the id
 
   if (result) {
     assert_fully_consumed(node, buffer_size());
     Atomic::inc(&_processed_buffers_mut);
   }
< prev index next >