Index: src/x64/macro-assembler-x64.h |
diff --git a/src/x64/macro-assembler-x64.h b/src/x64/macro-assembler-x64.h |
index 30b9ba515278f1b62d9afc027d46cbcbd8822cb3..b2d085f9050603cea10da75c20b28b77548cd0ef 100644 |
--- a/src/x64/macro-assembler-x64.h |
+++ b/src/x64/macro-assembler-x64.h |
@@ -272,6 +272,7 @@ class MacroAssembler: public Assembler { |
// Is the value a tagged smi. |
Condition CheckSmi(Register src); |
+ Condition CheckSmi(const Operand& src); |
// Is the value a non-negative tagged smi. |
Condition CheckNonNegativeSmi(Register src); |
@@ -590,6 +591,13 @@ class MacroAssembler: public Assembler { |
void Call(ExternalReference ext); |
void Call(Handle<Code> code_object, RelocInfo::Mode rmode); |
+ // Non-x64 instructions. |
+ // Push/pop all general purpose registers. |
+ // Does not push rsp/rbp nor any of the assembler's special purpose registers |
+ // (kScratchRegister, kSmiConstantRegister, kRootRegister). |
+ void Pushad(); |
+ void Popad(); |
+ |
// Compare object type for heap object. |
// Always use unsigned comparisons: above and below, not less and greater. |
// Incoming register is heap_object and outgoing register is map. |