< prev index next >

src/share/vm/gc/g1/dirtyCardQueue.cpp

Print this page
rev 10597 : [mq]: yield_inc1

*** 173,191 **** node->set_index(new_index); } return result; } bool DirtyCardQueueSet::mut_process_buffer(BufferNode* node) { guarantee(_free_ids != NULL, "must be"); uint worker_i = _free_ids->claim_par_id(); // temporarily claim an id bool result = apply_closure_to_buffer(_mut_process_closure, node, true, worker_i); _free_ids->release_par_id(worker_i); // release the id if (result) { ! assert(node->index() == buffer_size(), "apply said fully consumed"); Atomic::inc(&_processed_buffers_mut); } return result; } --- 173,198 ---- node->set_index(new_index); } return result; } + inline void assert_fully_consumed(BufferNode* node, size_t buffer_size) { + assert(node->index() == buffer_size, + "Buffer was not fully consumed as claimed: index: " SIZE_FORMAT + ", size: " SIZE_FORMAT, + node->index(), buffer_size); + } + bool DirtyCardQueueSet::mut_process_buffer(BufferNode* node) { guarantee(_free_ids != NULL, "must be"); uint worker_i = _free_ids->claim_par_id(); // temporarily claim an id bool result = apply_closure_to_buffer(_mut_process_closure, node, true, worker_i); _free_ids->release_par_id(worker_i); // release the id if (result) { ! assert_fully_consumed(node, buffer_size()); Atomic::inc(&_processed_buffers_mut); } return result; }
*** 221,231 **** BufferNode* nd = get_completed_buffer(stop_at); if (nd == NULL) { return false; } else { if (apply_closure_to_buffer(cl, nd, true, worker_i)) { ! assert(nd->index() == buffer_size(), "apply said fully consumed"); // Done with fully processed buffer. deallocate_buffer(nd); Atomic::inc(&_processed_buffers_rs_thread); } else { // Return partially processed buffer to the queue. --- 228,238 ---- BufferNode* nd = get_completed_buffer(stop_at); if (nd == NULL) { return false; } else { if (apply_closure_to_buffer(cl, nd, true, worker_i)) { ! assert_fully_consumed(nd, buffer_size()); // Done with fully processed buffer. deallocate_buffer(nd); Atomic::inc(&_processed_buffers_rs_thread); } else { // Return partially processed buffer to the queue.
< prev index next >