hotspot/src/share/vm/ci/ciTypeFlow.cpp
changeset 3910 67050ceda719
parent 3261 c7d5aae8d3f7
child 4566 b363f6ef4068
--- a/hotspot/src/share/vm/ci/ciTypeFlow.cpp	Tue Sep 15 22:50:12 2009 -0700
+++ b/hotspot/src/share/vm/ci/ciTypeFlow.cpp	Wed Sep 16 11:06:10 2009 -0700
@@ -2486,8 +2486,13 @@
         // Assume irreducible entries need more data flow
         add_to_work_list(succ);
       }
-      lp = lp->parent();
-      assert(lp != NULL, "nested loop must have parent by now");
+      Loop* plp = lp->parent();
+      if (plp == NULL) {
+        // This only happens for some irreducible cases.  The parent
+        // will be updated during a later pass.
+        break;
+      }
+      lp = plp;
     }
 
     // Merge loop tree branch for all successors.