Index: src/mips/macro-assembler-mips.h |
diff --git a/src/mips/macro-assembler-mips.h b/src/mips/macro-assembler-mips.h |
index 2a8bfcb36076ecea9f2017189aa01dc8d9e6e83a..cbc17d45ed9228e99036c195dd7aefb45f843cea 100644 |
--- a/src/mips/macro-assembler-mips.h |
+++ b/src/mips/macro-assembler-mips.h |
@@ -674,6 +674,17 @@ class MacroAssembler: public Assembler { |
sw(src4, MemOperand(sp, 0 * kPointerSize)); |
} |
+ // Push five registers. Pushes leftmost register first (to highest address). |
+ void Push(Register src1, Register src2, Register src3, Register src4, |
+ Register src5) { |
+ Subu(sp, sp, Operand(5 * kPointerSize)); |
+ sw(src1, MemOperand(sp, 4 * kPointerSize)); |
+ sw(src2, MemOperand(sp, 3 * kPointerSize)); |
+ sw(src3, MemOperand(sp, 2 * kPointerSize)); |
+ sw(src4, MemOperand(sp, 1 * kPointerSize)); |
+ sw(src5, MemOperand(sp, 0 * kPointerSize)); |
+ } |
+ |
void Push(Register src, Condition cond, Register tst1, Register tst2) { |
// Since we don't have conditional execution we use a Branch. |
Branch(3, cond, tst1, Operand(tst2)); |