--- a/src/hotspot/share/gc/g1/dirtyCardQueue.cpp Mon Oct 16 20:22:41 2017 +0000
+++ b/src/hotspot/share/gc/g1/dirtyCardQueue.cpp Mon Oct 16 22:36:06 2017 -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<BufferNode*>(actual);
+ nd = actual;
}
}
}