src/hotspot/share/opto/compile.cpp
changeset 48145 f913f6dba2d3
parent 47216 71c04702a3d5
child 48193 e98710c4f6c1
--- 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