| Index: src/ia32/lithium-codegen-ia32.cc
|
| diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc
|
| index 4ce7fd6067d106d92209b07a5f17d272bd15b292..75e34e97d1a46f21df3c799ee60b774a055a11f5 100644
|
| --- a/src/ia32/lithium-codegen-ia32.cc
|
| +++ b/src/ia32/lithium-codegen-ia32.cc
|
| @@ -1750,6 +1750,9 @@ void LCodeGen::DoShiftI(LShiftI* instr) {
|
| case Token::SAR:
|
| if (shift_count != 0) {
|
| __ sar(ToRegister(left), shift_count);
|
| + if (instr->hydrogen_value()->representation().IsSmi()) {
|
| + __ and_(ToRegister(left), ~kSmiTagMask);
|
| + }
|
| }
|
| break;
|
| case Token::SHR:
|
|
|