diff src/share/vm/opto/cfgnode.cpp @ 367:194b8e3a2fc4

6384206: Phis which are later unneeded are impairing our ability to inline based on static types Reviewed-by: rasbold, jrose
author never
date Wed, 17 Sep 2008 12:59:52 -0700
parents 02a35ad4adf8
children 36ccc817fca4
line wrap: on
line diff
--- a/src/share/vm/opto/cfgnode.cpp	Wed Sep 17 08:29:17 2008 -0700
+++ b/src/share/vm/opto/cfgnode.cpp	Wed Sep 17 12:59:52 2008 -0700
@@ -1665,7 +1665,11 @@
             // compress paths and change unreachable cycles to TOP
             // If not, we can update the input infinitely along a MergeMem cycle
             // Equivalent code is in MemNode::Ideal_common
-            Node         *m  = phase->transform(n);
+            Node *m  = phase->transform(n);
+            if (outcnt() == 0) {  // Above transform() may kill us!
+              progress = phase->C->top();
+              break;
+            }
             // If tranformed to a MergeMem, get the desired slice
             // Otherwise the returned node represents memory for every slice
             Node *new_mem = (m->is_MergeMem()) ?