--- a/hotspot/src/share/vm/opto/idealKit.cpp Sun Sep 06 10:13:18 2015 +0300
+++ b/hotspot/src/share/vm/opto/idealKit.cpp Fri Oct 16 16:53:02 2015 +0200
@@ -368,7 +368,8 @@
Node* IdealKit::store(Node* ctl, Node* adr, Node *val, BasicType bt,
int adr_idx,
- MemNode::MemOrd mo, bool require_atomic_access) {
+ MemNode::MemOrd mo, bool require_atomic_access,
+ bool mismatched) {
assert(adr_idx != Compile::AliasIdxTop, "use other store_to_memory factory");
const TypePtr* adr_type = NULL;
debug_only(adr_type = C->get_adr_type(adr_idx));
@@ -379,6 +380,9 @@
} else {
st = StoreNode::make(_gvn, ctl, mem, adr, adr_type, val, bt, mo);
}
+ if (mismatched) {
+ st->as_Store()->set_mismatched_access();
+ }
st = transform(st);
set_memory(st, adr_idx);