8009460: C2compiler crash in machnode::in_regmask(unsigned int)

7121140 may not correctly break the Allocate -> MemBarStoreStore link

Reviewed-by: kvn
This commit is contained in:
Roland Westrelin 2013-03-06 10:28:38 +01:00
parent 15108cd14e
commit 748083843a
2 changed files with 8 additions and 7 deletions

View file

@ -2899,6 +2899,13 @@ void Compile::final_graph_reshaping_impl( Node *n, Final_Reshape_Counts &frc) {
}
}
break;
case Op_MemBarStoreStore:
// Break the link with AllocateNode: it is no longer useful and
// confuses register allocation.
if (n->req() > MemBarNode::Precedent) {
n->set_req(MemBarNode::Precedent, top());
}
break;
default:
assert( !n->is_Call(), "" );
assert( !n->is_Mem(), "" );