< prev index next >

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

Print this page
rev 10742 : Make fields used in lock-free algorithms volatile

*** 158,168 **** bool result = true; void** buf = BufferNode::make_buffer_from_node(node); size_t limit = DirtyCardQueue::byte_index_to_index(buffer_size()); size_t i = DirtyCardQueue::byte_index_to_index(node->index()); for ( ; i < limit; ++i) { ! jbyte* card_ptr = static_cast<jbyte*>(buf[i]); assert(card_ptr != NULL, "invariant"); if (!cl->do_card_ptr(card_ptr, worker_i)) { result = false; // Incomplete processing. break; } --- 158,168 ---- bool result = true; void** buf = BufferNode::make_buffer_from_node(node); size_t limit = DirtyCardQueue::byte_index_to_index(buffer_size()); size_t i = DirtyCardQueue::byte_index_to_index(node->index()); for ( ; i < limit; ++i) { ! volatile jbyte* card_ptr = static_cast<volatile jbyte*>(buf[i]); assert(card_ptr != NULL, "invariant"); if (!cl->do_card_ptr(card_ptr, worker_i)) { result = false; // Incomplete processing. break; }
< prev index next >