Mercurial > hg > truffle
diff src/share/vm/opto/node.cpp @ 20413:91cb3b8aac2b
8048879: "unexpected yanked node" opto/postaloc.cpp:139
Summary: MemBarAcquireNode prevents deletion of dead LoadNNode. Added condition to 'has_special_unique_user' to trigger deletion.
Reviewed-by: kvn, iveresov
author | thartmann |
---|---|
date | Tue, 19 Aug 2014 07:36:11 +0200 |
parents | 411e30e5fbb8 |
children | 9e69e8d1c900 |
line wrap: on
line diff
--- a/src/share/vm/opto/node.cpp Fri Sep 05 15:10:41 2014 -0700 +++ b/src/share/vm/opto/node.cpp Tue Aug 19 07:36:11 2014 +0200 @@ -1093,6 +1093,9 @@ if( this->is_Store() ) { // Condition for back-to-back stores folding. return n->Opcode() == op && n->in(MemNode::Memory) == this; + } else if (this->is_Load()) { + // Condition for removing an unused LoadNode from the MemBarAcquire precedence input + return n->Opcode() == Op_MemBarAcquire; } else if( op == Op_AddL ) { // Condition for convL2I(addL(x,y)) ==> addI(convL2I(x),convL2I(y)) return n->Opcode() == Op_ConvL2I && n->in(1) == this;