--- a/src/hotspot/share/opto/compile.cpp Tue Nov 28 21:04:42 2017 +0530
+++ b/src/hotspot/share/opto/compile.cpp Tue Nov 28 11:59:16 2017 +0100
@@ -3244,9 +3244,11 @@
break;
case Op_Loop:
case Op_CountedLoop:
+ case Op_OuterStripMinedLoop:
if (n->as_Loop()->is_inner_loop()) {
frc.inc_inner_loop_count();
}
+ n->as_Loop()->verify_strip_mined(0);
break;
case Op_LShiftI:
case Op_RShiftI:
@@ -3525,6 +3527,14 @@
record_method_not_compilable("infinite loop");
return true; // Found unvisited kid; must be unreach
}
+
+ // Here so verification code in final_graph_reshaping_walk()
+ // always see an OuterStripMinedLoopEnd
+ if (n->is_OuterStripMinedLoopEnd()) {
+ IfNode* init_iff = n->as_If();
+ Node* iff = new IfNode(init_iff->in(0), init_iff->in(1), init_iff->_prob, init_iff->_fcnt);
+ n->subsume_by(iff, this);
+ }
}
// If original bytecodes contained a mixture of floats and doubles