comparison src/share/vm/opto/memnode.cpp @ 43:d821d920b465

6623167: C2 crashed in StoreCMNode::Value Summary: C2 crashed in StoreCMNode::Value because n->in(MemNode::OopStore) is 0. Reviewed-by: rasbold, never
author kvn
date Tue, 11 Mar 2008 11:04:40 -0700
parents f34d9da7acb2
children b8f5ba577b02
comparison
equal deleted inserted replaced
42:1216832af221 43:d821d920b465
1769 return this; 1769 return this;
1770 } 1770 }
1771 1771
1772 //------------------------------Value----------------------------------------- 1772 //------------------------------Value-----------------------------------------
1773 const Type *StoreCMNode::Value( PhaseTransform *phase ) const { 1773 const Type *StoreCMNode::Value( PhaseTransform *phase ) const {
1774 // Either input is TOP ==> the result is TOP
1775 const Type *t = phase->type( in(MemNode::Memory) );
1776 if( t == Type::TOP ) return Type::TOP;
1777 t = phase->type( in(MemNode::Address) );
1778 if( t == Type::TOP ) return Type::TOP;
1779 t = phase->type( in(MemNode::ValueIn) );
1780 if( t == Type::TOP ) return Type::TOP;
1774 // If extra input is TOP ==> the result is TOP 1781 // If extra input is TOP ==> the result is TOP
1775 const Type *t1 = phase->type( in(MemNode::OopStore) ); 1782 t = phase->type( in(MemNode::OopStore) );
1776 if( t1 == Type::TOP ) return Type::TOP; 1783 if( t == Type::TOP ) return Type::TOP;
1777 1784
1778 return StoreNode::Value( phase ); 1785 return StoreNode::Value( phase );
1779 } 1786 }
1780 1787
1781 1788