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); }