| Index: src/arm/lithium-codegen-arm.cc
|
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc
|
| index 057ca1ef2bae528deba94161f7478d26203a4d8c..0650cd511cb722c29b40329317d81c91ce60b591 100644
|
| --- a/src/arm/lithium-codegen-arm.cc
|
| +++ b/src/arm/lithium-codegen-arm.cc
|
| @@ -1725,6 +1725,9 @@ void LCodeGen::DoShiftI(LShiftI* instr) {
|
| case Token::SAR:
|
| if (shift_count != 0) {
|
| __ mov(result, Operand(left, ASR, shift_count));
|
| + if (instr->hydrogen_value()->representation().IsSmi()) {
|
| + __ and_(result, result, Operand(~kSmiTagMask));
|
| + }
|
| } else {
|
| __ Move(result, left);
|
| }
|
|
|