hotspot/src/share/vm/opto/callnode.cpp
changeset 26180 2fbed11af70e
parent 26166 4b49fd58bbd9
child 26435 b446202ac824
equal deleted inserted replaced
26179:b6f05d95bd72 26180:2fbed11af70e
  1824 }
  1824 }
  1825 
  1825 
  1826 uint ArrayCopyNode::size_of() const { return sizeof(*this); }
  1826 uint ArrayCopyNode::size_of() const { return sizeof(*this); }
  1827 
  1827 
  1828 ArrayCopyNode* ArrayCopyNode::make(GraphKit* kit, bool may_throw,
  1828 ArrayCopyNode* ArrayCopyNode::make(GraphKit* kit, bool may_throw,
  1829                                    Node* src, Node* src_offset, Node* dest, Node* dest_offset, Node* length,
  1829                                    Node* src, Node* src_offset,
  1830                                    bool alloc_tightly_coupled) {
  1830                                    Node* dest, Node* dest_offset,
       
  1831                                    Node* length,
       
  1832                                    bool alloc_tightly_coupled,
       
  1833                                    Node* src_length, Node* dest_length,
       
  1834                                    Node* src_klass, Node* dest_klass) {
  1831 
  1835 
  1832   ArrayCopyNode* ac = new ArrayCopyNode(kit->C, alloc_tightly_coupled);
  1836   ArrayCopyNode* ac = new ArrayCopyNode(kit->C, alloc_tightly_coupled);
  1833   Node* prev_mem = kit->set_predefined_input_for_runtime_call(ac);
  1837   Node* prev_mem = kit->set_predefined_input_for_runtime_call(ac);
  1834 
  1838 
  1835   ac->init_req( ArrayCopyNode::Src, src);
  1839   ac->init_req(ArrayCopyNode::Src, src);
  1836   ac->init_req( ArrayCopyNode::SrcPos, src_offset);
  1840   ac->init_req(ArrayCopyNode::SrcPos, src_offset);
  1837   ac->init_req( ArrayCopyNode::Dest, dest);
  1841   ac->init_req(ArrayCopyNode::Dest, dest);
  1838   ac->init_req( ArrayCopyNode::DestPos, dest_offset);
  1842   ac->init_req(ArrayCopyNode::DestPos, dest_offset);
  1839   ac->init_req( ArrayCopyNode::Length, length);
  1843   ac->init_req(ArrayCopyNode::Length, length);
       
  1844   ac->init_req(ArrayCopyNode::SrcLen, src_length);
       
  1845   ac->init_req(ArrayCopyNode::DestLen, dest_length);
       
  1846   ac->init_req(ArrayCopyNode::SrcKlass, src_klass);
       
  1847   ac->init_req(ArrayCopyNode::DestKlass, dest_klass);
  1840 
  1848 
  1841   if (may_throw) {
  1849   if (may_throw) {
  1842     ac->set_req(TypeFunc::I_O , kit->i_o());
  1850     ac->set_req(TypeFunc::I_O , kit->i_o());
  1843     kit->add_safepoint_edges(ac, false);
  1851     kit->add_safepoint_edges(ac, false);
  1844   }
  1852   }