提交 1113d94f 编写于 作者: K kvn

6623167: C2 crashed in StoreCMNode::Value

Summary: C2 crashed in StoreCMNode::Value because n->in(MemNode::OopStore) is 0.
Reviewed-by: rasbold, never
上级 81871995
...@@ -1771,9 +1771,16 @@ Node *StoreCMNode::Identity( PhaseTransform *phase ) { ...@@ -1771,9 +1771,16 @@ Node *StoreCMNode::Identity( PhaseTransform *phase ) {
//------------------------------Value----------------------------------------- //------------------------------Value-----------------------------------------
const Type *StoreCMNode::Value( PhaseTransform *phase ) const { const Type *StoreCMNode::Value( PhaseTransform *phase ) const {
// Either input is TOP ==> the result is TOP
const Type *t = phase->type( in(MemNode::Memory) );
if( t == Type::TOP ) return Type::TOP;
t = phase->type( in(MemNode::Address) );
if( t == Type::TOP ) return Type::TOP;
t = phase->type( in(MemNode::ValueIn) );
if( t == Type::TOP ) return Type::TOP;
// If extra input is TOP ==> the result is TOP // If extra input is TOP ==> the result is TOP
const Type *t1 = phase->type( in(MemNode::OopStore) ); t = phase->type( in(MemNode::OopStore) );
if( t1 == Type::TOP ) return Type::TOP; if( t == Type::TOP ) return Type::TOP;
return StoreNode::Value( phase ); return StoreNode::Value( phase );
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册