diff -r 7ff83df6c85a -r 91cb3b8aac2b src/share/vm/opto/node.cpp --- 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;