Index: src/ia32/full-codegen-ia32.cc |
diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc |
index 452cd08ee300b9809e303413cb39dccd8997573f..a6ec56b28b0a88ddff7f82a33ee98a1b5f88ee0a 100644 |
--- a/src/ia32/full-codegen-ia32.cc |
+++ b/src/ia32/full-codegen-ia32.cc |
@@ -2273,10 +2273,9 @@ void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr, |
switch (op) { |
case Token::SAR: |
- __ SmiUntag(eax); |
__ SmiUntag(ecx); |
__ sar_cl(eax); // No checks of result necessary |
- __ SmiTag(eax); |
+ __ and_(eax, Immediate(~kSmiTagMask)); |
break; |
case Token::SHL: { |
Label result_ok; |