hotspot/src/share/vm/opto/macro.cpp
changeset 45427 64e07017ce01
parent 43483 17e7b1ef5a83
child 46554 aa1cfd918c4f
--- a/hotspot/src/share/vm/opto/macro.cpp	Thu Jun 01 18:48:34 2017 +0000
+++ b/hotspot/src/share/vm/opto/macro.cpp	Fri Jun 02 09:08:34 2017 +0200
@@ -1047,7 +1047,9 @@
         // opportunities for allocation elimination
         Node* src = ac->in(ArrayCopyNode::Src);
         ac->replace_edge(src, top());
-        if (src->outcnt() == 0) {
+        // src can be top at this point if src and dest of the
+        // arraycopy were the same
+        if (src->outcnt() == 0 && !src->is_top()) {
           _igvn.remove_dead_node(src);
         }