--- old/src/hotspot/share/gc/g1/dirtyCardQueue.cpp 2017-10-13 18:23:58.960653298 -0400 +++ new/src/hotspot/share/gc/g1/dirtyCardQueue.cpp 2017-10-13 18:23:58.497781619 -0400 @@ -280,13 +280,13 @@ BufferNode* nd = _cur_par_buffer_node; while (nd != NULL) { BufferNode* next = nd->next(); - void* actual = Atomic::cmpxchg_ptr(next, &_cur_par_buffer_node, nd); + BufferNode* actual = Atomic::cmpxchg(next, &_cur_par_buffer_node, nd); if (actual == nd) { bool b = apply_closure_to_buffer(cl, nd, false); guarantee(b, "Should not stop early."); nd = next; } else { - nd = static_cast(actual); + nd = actual; } } }