comparison src/share/vm/opto/node.cpp @ 2254:ab42c7e1cf83

7017746: Regression : C2 compiler crash due to SIGSEGV in PhaseCFG::schedule_early() Summary: Add TEMP edges (and KILL projections) before duplicated operands are removed in Expand() methods. Reviewed-by: never
author kvn
date Thu, 10 Feb 2011 14:25:59 -0800
parents f95d63e2154a
children 1927db75dd85
comparison
equal deleted inserted replaced
2253:62a8557e8f36 2254:ab42c7e1cf83
741 } 741 }
742 742
743 //------------------------------del_req---------------------------------------- 743 //------------------------------del_req----------------------------------------
744 // Delete the required edge and compact the edge array 744 // Delete the required edge and compact the edge array
745 void Node::del_req( uint idx ) { 745 void Node::del_req( uint idx ) {
746 assert( idx < _cnt, "oob");
747 assert( !VerifyHashTableKeys || _hash_lock == 0,
748 "remove node from hash table before modifying it");
746 // First remove corresponding def-use edge 749 // First remove corresponding def-use edge
747 Node *n = in(idx); 750 Node *n = in(idx);
748 if (n != NULL) n->del_out((Node *)this); 751 if (n != NULL) n->del_out((Node *)this);
749 _in[idx] = in(--_cnt); // Compact the array 752 _in[idx] = in(--_cnt); // Compact the array
750 _in[_cnt] = NULL; // NULL out emptied slot 753 _in[_cnt] = NULL; // NULL out emptied slot