Index: src/x64/macro-assembler-x64.h |
diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h |
index 9d5d2a31c5ceee61652cd923ca83e8a13d1388ca..25bc632f9d8f150a456ed60e9c3d113ee0d7f1d8 100644 |
--- a/src/x64/macro-assembler-x64.h |
+++ b/src/x64/macro-assembler-x64.h |
@@ -648,9 +648,16 @@ class MacroAssembler: public Assembler { |
void SmiOrConstant(Register dst, Register src1, Smi* constant); |
void SmiXorConstant(Register dst, Register src1, Smi* constant); |
+#if !V8_USE_31_BITS_SMI_VALUE |
void SmiShiftLeftConstant(Register dst, |
Register src, |
int shift_value); |
+#else |
+ void SmiShiftLeftConstant(Register dst, |
+ Register src, |
+ int shift_value, |
+ Label* on_not_smi_result); |
+#endif |
void SmiShiftLogicalRightConstant(Register dst, |
Register src, |
int shift_value, |
@@ -662,9 +669,16 @@ class MacroAssembler: public Assembler { |
// Shifts a smi value to the left, and returns the result if that is a smi. |
// Uses and clobbers rcx, so dst may not be rcx. |
+#if !V8_USE_31_BITS_SMI_VALUE |
void SmiShiftLeft(Register dst, |
Register src1, |
Register src2); |
+#else |
+ void SmiShiftLeft(Register dst, |
+ Register src1, |
+ Register src2, |
+ Label* on_not_smi_result); |
+#endif |
// Shifts a smi value to the right, shifting in zero bits at the top, and |
// returns the unsigned intepretation of the result if that is a smi. |
// Uses and clobbers rcx, so dst may not be rcx. |