< 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 >