diff -r 057571442f86 -r 0ffee573412b src/share/vm/opto/idealKit.cpp --- a/src/share/vm/opto/idealKit.cpp Mon Nov 21 05:29:59 2016 +0000 +++ b/src/share/vm/opto/idealKit.cpp Wed Nov 23 23:01:34 2016 -0800 @@ -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);