Chromium Code Reviews| Index: runtime/vm/intermediate_language_arm.cc |
| diff --git a/runtime/vm/intermediate_language_arm.cc b/runtime/vm/intermediate_language_arm.cc |
| index 273cf851aaafb39bfe096a21117297193a4383b1..dabacbf0ca0d357e8f210a84b90b4e0c365bca56 100644 |
| --- a/runtime/vm/intermediate_language_arm.cc |
| +++ b/runtime/vm/intermediate_language_arm.cc |
| @@ -6281,15 +6281,6 @@ void ShiftMintOpInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| ASSERT(locs()->in(1).constant().IsSmi()); |
| const int32_t shift = |
| reinterpret_cast<int32_t>(locs()->in(1).constant().raw()) >> 1; |
| - if ((shift < 0) || (shift > kMintShiftCountLimit)) { |
| - __ b(deopt); |
| - return; |
| - } else if (shift == 0) { |
| - // Nothing to do for zero shift amount. |
| - __ mov(out_lo, Operand(left_lo)); |
| - __ mov(out_hi, Operand(left_hi)); |
| - return; |
| - } |
| switch (op_kind()) { |
| case Token::kSHR: { |
| if (shift < 32) { |
| @@ -6521,13 +6512,7 @@ void ShiftUint32OpInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| const intptr_t shift_value = Smi::Cast(constant).Value(); |
| // Check constant shift value. |
| - if (shift_value == 0) { |
| - // Nothing to do. |
| - __ mov(out, Operand(left)); |
| - } else if (shift_value < 0) { |
| - // Invalid shift value. |
| - __ b(deopt); |
| - } else if (shift_value > kShifterLimit) { |
| + if (shift_value > kShifterLimit) { |
|
Vyacheslav Egorov (Google)
2014/10/07 12:03:50
Can't this also be handled in Canonicalize just li
Cutch
2014/10/21 17:42:11
Done.
|
| // Result is 0. |
| __ eor(out, out, Operand(out)); |
| } else { |