--- old/src/share/vm/opto/loopTransform.cpp 2019-02-01 11:41:41.782204291 +0100 +++ new/src/share/vm/opto/loopTransform.cpp 2019-02-01 11:41:36.105249290 +0100 @@ -1310,8 +1310,8 @@ limit = new (C) Opaque2Node( C, limit ); register_new_node( limit, opaq_ctrl ); } - if (stride_con > 0 && ((limit_type->_lo - stride_con) < limit_type->_lo) || - stride_con < 0 && ((limit_type->_hi - stride_con) > limit_type->_hi)) { + if (stride_con > 0 && (java_subtract(limit_type->_lo, stride_con) < limit_type->_lo) || + stride_con < 0 && (java_subtract(limit_type->_hi, stride_con) > limit_type->_hi)) { // No underflow. new_limit = new (C) SubINode(limit, stride); } else {