Mercurial > hg > graal-compiler
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 |