hotspot/src/share/vm/opto/loopnode.cpp
changeset 29087 79c30f6c2125
parent 28202 3518158ff5d0
child 30593 69f942690128
equal deleted inserted replaced
28958:8d8f9907083d 29087:79c30f6c2125
   432       return false; // cyclic loop or this loop trips only once
   432       return false; // cyclic loop or this loop trips only once
   433   } else {
   433   } else {
   434     jlong init_p = (jlong)init_t->_hi + stride_con;
   434     jlong init_p = (jlong)init_t->_hi + stride_con;
   435     if (init_p < (jlong)min_jint || init_p < (jlong)limit_t->_lo)
   435     if (init_p < (jlong)min_jint || init_p < (jlong)limit_t->_lo)
   436       return false; // cyclic loop or this loop trips only once
   436       return false; // cyclic loop or this loop trips only once
       
   437   }
       
   438 
       
   439   if (phi_incr != NULL) {
       
   440     // check if there is a possiblity of IV overflowing after the first increment
       
   441     if (stride_con > 0) {
       
   442       if (init_t->_hi > max_jint - stride_con) {
       
   443         return false;
       
   444       }
       
   445     } else {
       
   446       if (init_t->_lo < min_jint - stride_con) {
       
   447         return false;
       
   448       }
       
   449     }
   437   }
   450   }
   438 
   451 
   439   // =================================================
   452   // =================================================
   440   // ---- SUCCESS!   Found A Trip-Counted Loop!  -----
   453   // ---- SUCCESS!   Found A Trip-Counted Loop!  -----
   441   //
   454   //