diff src/share/vm/opto/compile.cpp @ 8694:8651f608fea4

8009460: C2compiler crash in machnode::in_regmask(unsigned int) Summary: 7121140 may not correctly break the Allocate -> MemBarStoreStore link Reviewed-by: kvn
author roland
date Wed, 06 Mar 2013 10:28:38 +0100
parents 571076d3c79d
children b7c2c5b2572c
line wrap: on
line diff
--- a/src/share/vm/opto/compile.cpp	Tue Mar 05 18:03:36 2013 -0800
+++ b/src/share/vm/opto/compile.cpp	Wed Mar 06 10:28:38 2013 +0100
@@ -2899,6 +2899,13 @@
       }
     }
     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(), "" );