Index: src/x64/macro-assembler-x64.cc |
=================================================================== |
--- src/x64/macro-assembler-x64.cc (revision 4699) |
+++ src/x64/macro-assembler-x64.cc (working copy) |
@@ -27,6 +27,8 @@ |
#include "v8.h" |
+#if defined(V8_TARGET_ARCH_X64) |
+ |
#include "bootstrapper.h" |
#include "codegen-inl.h" |
#include "assembler-x64.h" |
@@ -800,7 +802,7 @@ |
void MacroAssembler::SmiSub(Register dst, |
Register src1, |
- Operand const& src2, |
+ const Operand& src2, |
Label* on_not_smi_result) { |
if (on_not_smi_result == NULL) { |
// No overflow checking. Use only when it's known that |
@@ -918,6 +920,14 @@ |
} |
+void MacroAssembler::SmiAddConstant(const Operand& dst, Smi* constant) { |
+ if (constant->value() != 0) { |
+ Move(kScratchRegister, constant); |
+ addq(dst, kScratchRegister); |
+ } |
+} |
+ |
+ |
void MacroAssembler::SmiAddConstant(Register dst, |
Register src, |
Smi* constant, |
@@ -1730,23 +1740,21 @@ |
} |
-void MacroAssembler::AbortIfNotNumber(Register object, const char* msg) { |
+void MacroAssembler::AbortIfNotNumber(Register object) { |
Label ok; |
Condition is_smi = CheckSmi(object); |
j(is_smi, &ok); |
Cmp(FieldOperand(object, HeapObject::kMapOffset), |
Factory::heap_number_map()); |
- Assert(equal, msg); |
+ Assert(equal, "Operand not a number"); |
bind(&ok); |
} |
-void MacroAssembler::AbortIfNotSmi(Register object, const char* msg) { |
+void MacroAssembler::AbortIfNotSmi(Register object) { |
Label ok; |
Condition is_smi = CheckSmi(object); |
- j(is_smi, &ok); |
- Assert(equal, msg); |
- bind(&ok); |
+ Assert(is_smi, "Operand not a smi"); |
} |
@@ -2766,3 +2774,5 @@ |
} |
} } // namespace v8::internal |
+ |
+#endif // V8_TARGET_ARCH_X64 |