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-----------------------------------------
|
//------------------------------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 );
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user