src/share/vm/opto/node.cpp

changeset 5626
766fac3395d6
parent 5111
70120f47d403
child 6198
55fb97c4c58d
child 6488
4cdf4f71177d
     1.1 --- a/src/share/vm/opto/node.cpp	Fri Aug 23 03:14:54 2013 -0700
     1.2 +++ b/src/share/vm/opto/node.cpp	Fri Aug 23 11:41:37 2013 -0700
     1.3 @@ -773,6 +773,21 @@
     1.4    _in[_cnt] = NULL;       // NULL out emptied slot
     1.5  }
     1.6  
     1.7 +//------------------------------del_req_ordered--------------------------------
     1.8 +// Delete the required edge and compact the edge array with preserved order
     1.9 +void Node::del_req_ordered( uint idx ) {
    1.10 +  assert( idx < _cnt, "oob");
    1.11 +  assert( !VerifyHashTableKeys || _hash_lock == 0,
    1.12 +          "remove node from hash table before modifying it");
    1.13 +  // First remove corresponding def-use edge
    1.14 +  Node *n = in(idx);
    1.15 +  if (n != NULL) n->del_out((Node *)this);
    1.16 +  if (idx < _cnt - 1) { // Not last edge ?
    1.17 +    Copy::conjoint_words_to_lower((HeapWord*)&_in[idx+1], (HeapWord*)&_in[idx], ((_cnt-idx-1)*sizeof(Node*)));
    1.18 +  }
    1.19 +  _in[--_cnt] = NULL;   // NULL out emptied slot
    1.20 +}
    1.21 +
    1.22  //------------------------------ins_req----------------------------------------
    1.23  // Insert a new required input at the end
    1.24  void Node::ins_req( uint idx, Node *n ) {

mercurial