hotspot/src/share/vm/opto/ifnode.cpp
changeset 10258 10c77b8c8d3e
parent 10253 35b975b1e8f3
child 12958 009b6c9586d8
--- a/hotspot/src/share/vm/opto/ifnode.cpp	Thu Jul 28 13:03:39 2011 -0700
+++ b/hotspot/src/share/vm/opto/ifnode.cpp	Fri Jul 29 09:16:29 2011 -0700
@@ -255,6 +255,14 @@
         predicate_x = predicate_proj;
     }
   }
+  if (predicate_c != NULL && (req_c > 1)) {
+    assert(predicate_x == NULL, "only one predicate entry expected");
+    predicate_c = NULL; // Do not clone predicate below merge point
+  }
+  if (predicate_x != NULL && ((len - req_c) > 2)) {
+    assert(predicate_c == NULL, "only one predicate entry expected");
+    predicate_x = NULL; // Do not clone predicate below merge point
+  }
 
   // Register the new RegionNodes but do not transform them.  Cannot
   // transform until the entire Region/Phi conglomerate has been hacked