8161651: Logic in ConnectionGraph::split_unique_types() wrongly assumes node always have memory input
Reviewed-by: thartmann, kvn
--- a/hotspot/src/share/vm/opto/escape.cpp Fri Jul 22 17:52:03 2016 +0000
+++ b/hotspot/src/share/vm/opto/escape.cpp Mon Jul 18 20:45:51 2016 +0200
@@ -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 ||