Lines Matching refs:underflow
60 // No underflow.
250 // `overflow` or `underflow` will return whether the resulting bound may
251 // overflow or underflow an int.
252 ValueBound Add(int32_t c, /* out */ bool* overflow, /* out */ bool* underflow) const {
253 *overflow = *underflow = false;
275 *underflow = true;
281 // never underflow since array.length is no less than 0.
286 *underflow = true;
351 bool overflow, underflow;
352 ValueBound lower = lower_.Add(constant, &overflow, &underflow);
353 if (underflow) {
354 // Lower bound underflow will wrap around to positive values
358 ValueBound upper = upper_.Add(constant, &overflow, &underflow);
378 * Special care needs to be taken to account for overflow/underflow
389 // used as a regular value range, due to possible overflow/underflow.
418 // possible overflow/underflow, that may not be possible.
484 // Need to take care of underflow. Try to prove underflow won't happen
493 // For non-constant lower bound, just assume might be underflow. Give up narrowing.
652 // Handle common cases which also don't have overflow/underflow concerns.
681 bool underflow;
685 right_range->GetBound().Add(left_compensation, &overflow, &underflow));
686 if (!overflow && !underflow) {
693 left_range->GetBound().Add(right_compensation, &overflow, &underflow),
695 if (!overflow && !underflow) {
756 bool overflow, underflow;
760 ValueBound new_upper = upper.Add(compensation, &overflow, &underflow);
761 if (overflow || underflow) {
772 ValueBound new_lower = lower.Add(compensation, &overflow, &underflow);
773 if (overflow || underflow) {
784 ValueBound new_lower = lower.Add(compensation, &overflow, &underflow);
785 if (overflow || underflow) {
795 ValueBound new_upper = upper.Add(compensation, &overflow, &underflow);
796 if (overflow || underflow) {
1027 // array.length + (c0 - c1) won't overflow/underflow.