hotspot/src/share/vm/opto/lcm.cpp
changeset 4470 1e6edcab3109
parent 2348 4e71ed4c2709
child 4566 b363f6ef4068
--- a/hotspot/src/share/vm/opto/lcm.cpp	Tue Dec 08 16:27:21 2009 -0800
+++ b/hotspot/src/share/vm/opto/lcm.cpp	Wed Dec 09 16:40:45 2009 -0800
@@ -616,8 +616,9 @@
           assert(cfg->_bbs[oop_store->_idx]->_dom_depth <= this->_dom_depth, "oop_store must dominate card-mark");
         }
       }
-      if( n->is_Mach() && n->as_Mach()->ideal_Opcode() == Op_MemBarAcquire &&
-          n->req() > TypeFunc::Parms ) {
+      if( n->is_Mach() && n->req() > TypeFunc::Parms &&
+          (n->as_Mach()->ideal_Opcode() == Op_MemBarAcquire ||
+           n->as_Mach()->ideal_Opcode() == Op_MemBarVolatile) ) {
         // MemBarAcquire could be created without Precedent edge.
         // del_req() replaces the specified edge with the last input edge
         // and then removes the last edge. If the specified edge > number of