--- old/src/share/vm/opto/callnode.cpp 2015-07-28 15:53:13.226296140 +0200 +++ new/src/share/vm/opto/callnode.cpp 2015-07-28 15:53:12.787299385 +0200 @@ -724,7 +724,7 @@ // bool CallNode::may_modify(const TypeOopPtr *t_oop, PhaseTransform *phase) { assert((t_oop != NULL), "sanity"); - if (is_call_to_arraycopystub()) { + if (is_call_to_arraycopystub() && strcmp(_name, "unsafe_arraycopy")) { const TypeTuple* args = _tf->domain(); Node* dest = NULL; // Stubs that can be called once an ArrayCopyNode is expanded have