--- a/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp Tue Nov 05 10:11:18 2019 +0000
+++ b/src/hotspot/share/gc/shared/c2/barrierSetC2.cpp Thu Oct 31 17:16:36 2019 +0100
@@ -96,7 +96,6 @@
store = kit->store_to_memory(kit->control(), access.addr().node(), val.node(), access.type(),
access.addr().type(), mo, requires_atomic_access, unaligned, mismatched, unsafe);
- access.set_raw_access(store);
} else {
assert(!requires_atomic_access, "not yet supported");
assert(access.is_opt_access(), "either parse or opt access");
@@ -120,6 +119,8 @@
mm->set_memory_at(alias, st);
}
}
+ access.set_raw_access(store);
+
return store;
}
@@ -153,7 +154,6 @@
load = kit->make_load(control, adr, val_type, access.type(), adr_type, mo,
dep, requires_atomic_access, unaligned, mismatched, unsafe);
}
- access.set_raw_access(load);
} else {
assert(!requires_atomic_access, "not yet supported");
assert(access.is_opt_access(), "either parse or opt access");
@@ -165,6 +165,7 @@
load = LoadNode::make(gvn, control, mem, adr, adr_type, val_type, access.type(), mo, dep, unaligned, mismatched);
load = gvn.transform(load);
}
+ access.set_raw_access(load);
return load;
}
@@ -806,7 +807,8 @@
Node* dest_offset = ac->in(ArrayCopyNode::DestPos);
Node* length = ac->in(ArrayCopyNode::Length);
- assert (src_offset == NULL && dest_offset == NULL, "for clone offsets should be null");
+ assert (src_offset == NULL, "for clone offsets should be null");
+ assert (dest_offset == NULL, "for clone offsets should be null");
const char* copyfunc_name = "arraycopy";
address copyfunc_addr =