6623167: C2 crashed in StoreCMNode::Value
C2 crashed in StoreCMNode::Value because n->in(MemNode::OopStore) is 0. Reviewed-by: rasbold, never
This commit is contained in:
parent
a39a588efa
commit
50708126d4
@ -1771,9 +1771,16 @@ Node *StoreCMNode::Identity( PhaseTransform *phase ) {
|
||||
|
||||
//------------------------------Value-----------------------------------------
|
||||
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
|
||||
const Type *t1 = phase->type( in(MemNode::OopStore) );
|
||||
if( t1 == Type::TOP ) return Type::TOP;
|
||||
t = phase->type( in(MemNode::OopStore) );
|
||||
if( t == Type::TOP ) return Type::TOP;
|
||||
|
||||
return StoreNode::Value( phase );
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user