Chromium Code Reviews| 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..b1300bcfb0cb18f911c99230bc330043ce929058 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), -2); |
|
mvstanton
2013/07/29 11:30:34
Instead of -2 could you use ~kSmiTagMask?
|
| + } |
| } |
| break; |
| case Token::SHR: |