1.1 --- a/src/share/vm/opto/loopopts.cpp Wed Sep 17 08:29:17 2008 -0700 1.2 +++ b/src/share/vm/opto/loopopts.cpp Wed Sep 17 12:59:52 2008 -0700 1.3 @@ -2667,6 +2667,10 @@ 1.4 // Fix this by adjusting to use the post-increment trip counter. 1.5 Node *phi = cl->phi(); 1.6 if( !phi ) return; // Dead infinite loop 1.7 + 1.8 + // Shape messed up, probably by iteration_split_impl 1.9 + if (phi->in(LoopNode::LoopBackControl) != cl->incr()) return; 1.10 + 1.11 bool progress = true; 1.12 while (progress) { 1.13 progress = false;