Mercurial > hg > truffle
comparison src/share/vm/opto/node.cpp @ 12355:cefad50507d8
Merge with hs25-b53
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Fri, 11 Oct 2013 10:38:03 +0200 |
parents | 766fac3395d6 |
children | 8c0e92c8c45b de6a9e811145 4cdf4f71177d |
comparison
equal
deleted
inserted
replaced
12058:ccb4f2af2319 | 12355:cefad50507d8 |
---|---|
769 // First remove corresponding def-use edge | 769 // First remove corresponding def-use edge |
770 Node *n = in(idx); | 770 Node *n = in(idx); |
771 if (n != NULL) n->del_out((Node *)this); | 771 if (n != NULL) n->del_out((Node *)this); |
772 _in[idx] = in(--_cnt); // Compact the array | 772 _in[idx] = in(--_cnt); // Compact the array |
773 _in[_cnt] = NULL; // NULL out emptied slot | 773 _in[_cnt] = NULL; // NULL out emptied slot |
774 } | |
775 | |
776 //------------------------------del_req_ordered-------------------------------- | |
777 // Delete the required edge and compact the edge array with preserved order | |
778 void Node::del_req_ordered( uint idx ) { | |
779 assert( idx < _cnt, "oob"); | |
780 assert( !VerifyHashTableKeys || _hash_lock == 0, | |
781 "remove node from hash table before modifying it"); | |
782 // First remove corresponding def-use edge | |
783 Node *n = in(idx); | |
784 if (n != NULL) n->del_out((Node *)this); | |
785 if (idx < _cnt - 1) { // Not last edge ? | |
786 Copy::conjoint_words_to_lower((HeapWord*)&_in[idx+1], (HeapWord*)&_in[idx], ((_cnt-idx-1)*sizeof(Node*))); | |
787 } | |
788 _in[--_cnt] = NULL; // NULL out emptied slot | |
774 } | 789 } |
775 | 790 |
776 //------------------------------ins_req---------------------------------------- | 791 //------------------------------ins_req---------------------------------------- |
777 // Insert a new required input at the end | 792 // Insert a new required input at the end |
778 void Node::ins_req( uint idx, Node *n ) { | 793 void Node::ins_req( uint idx, Node *n ) { |