--- a/src/hotspot/share/gc/g1/g1ParScanThreadState.cpp Mon Jun 25 11:51:04 2018 +0530
+++ b/src/hotspot/share/gc/g1/g1ParScanThreadState.cpp Mon Jun 25 10:41:03 2018 +0200
@@ -266,7 +266,7 @@
Prefetch::write(obj_ptr, PrefetchCopyIntervalInBytes);
const oop obj = oop(obj_ptr);
- const oop forward_ptr = old->forward_to_atomic(obj);
+ const oop forward_ptr = old->forward_to_atomic(obj, memory_order_relaxed);
if (forward_ptr == NULL) {
Copy::aligned_disjoint_words((HeapWord*) old, obj_ptr, word_sz);
@@ -356,7 +356,7 @@
oop G1ParScanThreadState::handle_evacuation_failure_par(oop old, markOop m) {
assert(_g1h->is_in_cset(old), "Object " PTR_FORMAT " should be in the CSet", p2i(old));
- oop forward_ptr = old->forward_to_atomic(old);
+ oop forward_ptr = old->forward_to_atomic(old, memory_order_relaxed);
if (forward_ptr == NULL) {
// Forward-to-self succeeded. We are the "owner" of the object.
HeapRegion* r = _g1h->heap_region_containing(old);