Index: src/x64/assembler-x64.h |
diff --git a/src/x64/assembler-x64.h b/src/x64/assembler-x64.h |
index 07afc129dc82c76b76a5eadb2c6bd3425eb0289e..b329a2d3000180e046c189ca99a1431025e1a996 100644 |
--- a/src/x64/assembler-x64.h |
+++ b/src/x64/assembler-x64.h |
@@ -378,6 +378,11 @@ inline Condition ReverseCondition(Condition cc) { |
class Immediate BASE_EMBEDDED { |
public: |
explicit Immediate(int32_t value) : value_(value) {} |
+#if V8_USE_31_BITS_SMI_VALUE |
+ explicit Immediate(Smi* value) { |
danno
2013/07/29 13:02:23
Don't add a Smi* constructor here. The wrapper fun
haitao.feng
2013/07/30 08:56:43
Done.
|
+ value_ = static_cast<int32_t>(reinterpret_cast<intptr_t>(value)); |
+ } |
+#endif |
private: |
int32_t value_; |
@@ -988,6 +993,12 @@ class Assembler : public AssemblerBase { |
shift(dst, imm8, 0x0); |
} |
+#if V8_USE_31_BITS_SMI_VALUE |
danno
2013/07/29 13:02:23
Is there some way to not including this conditiona
haitao.feng
2013/07/30 08:56:43
Done.
|
+ void roll(Register dst, Immediate imm8) { |
+ shift_32(dst, imm8, 0x0); |
+ } |
+#endif |
+ |
void rcr(Register dst, Immediate imm8) { |
shift(dst, imm8, 0x3); |
} |
@@ -1378,6 +1389,9 @@ class Assembler : public AssemblerBase { |
void movmskpd(Register dst, XMMRegister src); |
void movmskps(Register dst, XMMRegister src); |
+#if V8_USE_31_BITS_SMI_VALUE |
+ void pcmpeqd(XMMRegister dst, XMMRegister src); |
danno
2013/07/29 13:02:23
Why can't this always be part of the code (no cond
haitao.feng
2013/07/30 08:56:43
Done.
|
+#endif |
// The first argument is the reg field, the second argument is the r/m field. |
void emit_sse_operand(XMMRegister dst, XMMRegister src); |