Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/connode.cpp @ 305:ab075d07f1ba
6736417: Fastdebug C2 crashes in StoreBNode::Ideal
Summary: The result of step_through_mergemem() and remove_dead_region() is not checked in some cases.
Reviewed-by: never
author | kvn |
---|---|
date | Wed, 27 Aug 2008 09:15:46 -0700 |
parents | 9c2ecc2ffb12 |
children | 36ccc817fca4 |
line wrap: on
line diff
--- a/src/share/vm/opto/connode.cpp Wed Aug 27 00:21:55 2008 -0700 +++ b/src/share/vm/opto/connode.cpp Wed Aug 27 09:15:46 2008 -0700 @@ -101,6 +101,8 @@ // Move constants to the right. Node *CMoveNode::Ideal(PhaseGVN *phase, bool can_reshape) { if( in(0) && remove_dead_region(phase, can_reshape) ) return this; + // Don't bother trying to transform a dead node + if( in(0) && in(0)->is_top() ) return NULL; assert( !phase->eqv(in(Condition), this) && !phase->eqv(in(IfFalse), this) && !phase->eqv(in(IfTrue), this), "dead loop in CMoveNode::Ideal" );