From c52af628aba14b72ffd5dbca39ce198642d34091 Mon Sep 17 00:00:00 2001 From: Roland Westrelin Date: Mon, 18 Jul 2016 20:45:51 +0200 Subject: [PATCH] 8161651: Logic in ConnectionGraph::split_unique_types() wrongly assumes node always have memory input Reviewed-by: thartmann, kvn --- hotspot/src/share/vm/opto/escape.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hotspot/src/share/vm/opto/escape.cpp b/hotspot/src/share/vm/opto/escape.cpp index 892a0d3defa..9d7020f9ddb 100644 --- a/hotspot/src/share/vm/opto/escape.cpp +++ b/hotspot/src/share/vm/opto/escape.cpp @@ -3134,8 +3134,8 @@ void ConnectionGraph::split_unique_types(GrowableArray &alloc_worklist, } } 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 ||