hotspot/src/share/vm/opto/loopnode.cpp
changeset 41696 578189b0f230
parent 40087 33cbd46c3241
child 45425 c454d65f0370
--- a/hotspot/src/share/vm/opto/loopnode.cpp	Tue Sep 27 04:48:51 2016 -0700
+++ b/hotspot/src/share/vm/opto/loopnode.cpp	Wed Sep 28 10:11:40 2016 -0700
@@ -1687,6 +1687,12 @@
     Node *init2 = phi2->in( LoopNode::EntryControl );
     int stride_con2 = incr2->in(2)->get_int();
 
+    // The ratio of the two strides cannot be represented as an int
+    // if stride_con2 is min_int and stride_con is -1.
+    if (stride_con2 == min_jint && stride_con == -1) {
+      continue;
+    }
+
     // The general case here gets a little tricky.  We want to find the
     // GCD of all possible parallel IV's and make a new IV using this
     // GCD for the loop.  Then all possible IVs are simple multiples of