diff --git a/src/share/vm/opto/escape.cpp b/src/share/vm/opto/escape.cpp
--- a/src/share/vm/opto/escape.cpp
+++ b/src/share/vm/opto/escape.cpp
@@ -3134,8 +3134,8 @@
}
} else {
uint op = use->Opcode();
- if ((use->in(MemNode::Memory) == n) &&
- (op == Op_StrCompressedCopy || op == Op_StrInflatedCopy)) {
+ if ((op == Op_StrCompressedCopy || op == Op_StrInflatedCopy) &&
+ (use->in(MemNode::Memory) == n)) {
// They overwrite memory edge corresponding to destination array,
memnode_worklist.append_if_missing(use);
} else if (!(op == Op_CmpP || op == Op_Conv2B ||
If use is CmpP for instance it doesn't have a memory input. Harmless currently because edge referenced with MemNode::Memory is within bounds
--- a/src/share/vm/opto/escape.cpp
+++ b/src/share/vm/opto/escape.cpp
@@ -3134,8 +3134,8 @@
}
} else {
uint op = use->Opcode();
- if ((use->in(MemNode::Memory) == n) &&
- (op == Op_StrCompressedCopy || op == Op_StrInflatedCopy)) {
+ if ((op == Op_StrCompressedCopy || op == Op_StrInflatedCopy) &&
+ (use->in(MemNode::Memory) == n)) {
// They overwrite memory edge corresponding to destination array,
memnode_worklist.append_if_missing(use);
} else if (!(op == Op_CmpP || op == Op_Conv2B ||
If use is CmpP for instance it doesn't have a memory input. Harmless currently because edge referenced with MemNode::Memory is within bounds