Index: runtime/vm/intermediate_language.cc |
=================================================================== |
--- runtime/vm/intermediate_language.cc (revision 38492) |
+++ runtime/vm/intermediate_language.cc (working copy) |
@@ -2729,11 +2729,11 @@ |
ASSERT(value_boundary.IsConstant()); |
ASSERT(shift_count >= 0); |
int64_t limit = 64 - shift_count; |
- int64_t value = static_cast<int64_t>(value_boundary.ConstantValue()); |
+ int64_t value = value_boundary.ConstantValue(); |
if ((value == 0) || |
(shift_count == 0) || |
- ((limit > 0) && (Utils::IsInt(limit, value)))) { |
+ ((limit > 0) && Utils::IsInt(static_cast<int>(limit), value))) { |
// Result stays in 64 bit range. |
int64_t result = value << shift_count; |
return RangeBoundary(result); |
@@ -3696,10 +3696,10 @@ |
// Product of left and right max values stays in 64 bit range. |
const int64_t mul_max = left_max * right_max; |
if (Smi::IsValid(mul_max) && Smi::IsValid(-mul_max)) { |
- const intptr_t r_min = |
+ const int64_t r_min = |
OnlyPositiveOrZero(*left_range, *right_range) ? 0 : -mul_max; |
*result_min = RangeBoundary::FromConstant(r_min); |
- const intptr_t r_max = |
+ const int64_t r_max = |
OnlyNegativeOrZero(*left_range, *right_range) ? 0 : mul_max; |
*result_max = RangeBoundary::FromConstant(r_max); |
return true; |