< prev index next >

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

Print this page

        

*** 3375,3385 **** void par_apply(RedirtyLoggedCardTableEntryClosure* cl, uint worker_id) { size_t buffer_size = _qset->buffer_size(); BufferNode* next = Atomic::load(&_nodes); while (next != NULL) { BufferNode* node = next; ! next = Atomic::cmpxchg(node->next(), &_nodes, node); if (next == node) { cl->apply_to_buffer(node, buffer_size, worker_id); next = node->next(); } } --- 3375,3385 ---- void par_apply(RedirtyLoggedCardTableEntryClosure* cl, uint worker_id) { size_t buffer_size = _qset->buffer_size(); BufferNode* next = Atomic::load(&_nodes); while (next != NULL) { BufferNode* node = next; ! next = Atomic::cmpxchg(&_nodes, node, node->next()); if (next == node) { cl->apply_to_buffer(node, buffer_size, worker_id); next = node->next(); } }
< prev index next >