@@ -860,11 +860,11 @@ } } if (p != NULL) { HeapWord* cur_top, *cur_chunk_top = p + size; while ((cur_top = top()) < cur_chunk_top) { // Keep _top updated. - if (Atomic::cmpxchg_ptr(cur_chunk_top, top_addr(), cur_top) == cur_top) { + if (Atomic::cmpxchg(cur_chunk_top, top_addr(), cur_top) == cur_top) { break; } } }