1.1 --- a/src/share/vm/opto/lcm.cpp Tue Dec 08 16:27:21 2009 -0800 1.2 +++ b/src/share/vm/opto/lcm.cpp Wed Dec 09 16:40:45 2009 -0800 1.3 @@ -616,8 +616,9 @@ 1.4 assert(cfg->_bbs[oop_store->_idx]->_dom_depth <= this->_dom_depth, "oop_store must dominate card-mark"); 1.5 } 1.6 } 1.7 - if( n->is_Mach() && n->as_Mach()->ideal_Opcode() == Op_MemBarAcquire && 1.8 - n->req() > TypeFunc::Parms ) { 1.9 + if( n->is_Mach() && n->req() > TypeFunc::Parms && 1.10 + (n->as_Mach()->ideal_Opcode() == Op_MemBarAcquire || 1.11 + n->as_Mach()->ideal_Opcode() == Op_MemBarVolatile) ) { 1.12 // MemBarAcquire could be created without Precedent edge. 1.13 // del_req() replaces the specified edge with the last input edge 1.14 // and then removes the last edge. If the specified edge > number of