hotspot/src/share/vm/opto/callnode.cpp
changeset 26180 2fbed11af70e
parent 26166 4b49fd58bbd9
child 26435 b446202ac824
--- a/hotspot/src/share/vm/opto/callnode.cpp	Tue Aug 19 16:20:18 2014 -0700
+++ b/hotspot/src/share/vm/opto/callnode.cpp	Tue Aug 19 17:23:38 2014 +0200
@@ -1826,17 +1826,25 @@
 uint ArrayCopyNode::size_of() const { return sizeof(*this); }
 
 ArrayCopyNode* ArrayCopyNode::make(GraphKit* kit, bool may_throw,
-                                   Node* src, Node* src_offset, Node* dest, Node* dest_offset, Node* length,
-                                   bool alloc_tightly_coupled) {
+                                   Node* src, Node* src_offset,
+                                   Node* dest, Node* dest_offset,
+                                   Node* length,
+                                   bool alloc_tightly_coupled,
+                                   Node* src_length, Node* dest_length,
+                                   Node* src_klass, Node* dest_klass) {
 
   ArrayCopyNode* ac = new ArrayCopyNode(kit->C, alloc_tightly_coupled);
   Node* prev_mem = kit->set_predefined_input_for_runtime_call(ac);
 
-  ac->init_req( ArrayCopyNode::Src, src);
-  ac->init_req( ArrayCopyNode::SrcPos, src_offset);
-  ac->init_req( ArrayCopyNode::Dest, dest);
-  ac->init_req( ArrayCopyNode::DestPos, dest_offset);
-  ac->init_req( ArrayCopyNode::Length, length);
+  ac->init_req(ArrayCopyNode::Src, src);
+  ac->init_req(ArrayCopyNode::SrcPos, src_offset);
+  ac->init_req(ArrayCopyNode::Dest, dest);
+  ac->init_req(ArrayCopyNode::DestPos, dest_offset);
+  ac->init_req(ArrayCopyNode::Length, length);
+  ac->init_req(ArrayCopyNode::SrcLen, src_length);
+  ac->init_req(ArrayCopyNode::DestLen, dest_length);
+  ac->init_req(ArrayCopyNode::SrcKlass, src_klass);
+  ac->init_req(ArrayCopyNode::DestKlass, dest_klass);
 
   if (may_throw) {
     ac->set_req(TypeFunc::I_O , kit->i_o());