Index: src/mips/macro-assembler-mips.h |
diff --git a/src/mips/macro-assembler-mips.h b/src/mips/macro-assembler-mips.h |
index ce52986f9b4378ed87797a1deb4f47cfda2315d6..62d3aa81d497ad4362b83458ddb6a2fdfd8bf10a 100644 |
--- a/src/mips/macro-assembler-mips.h |
+++ b/src/mips/macro-assembler-mips.h |
@@ -587,7 +587,10 @@ class MacroAssembler: public Assembler { |
DEFINE_INSTRUCTION(Addu); |
DEFINE_INSTRUCTION(Subu); |
DEFINE_INSTRUCTION(Mul); |
+ DEFINE_INSTRUCTION(Div); |
+ DEFINE_INSTRUCTION(Divu); |
DEFINE_INSTRUCTION(Mod); |
+ DEFINE_INSTRUCTION(Modu); |
DEFINE_INSTRUCTION(Mulh); |
DEFINE_INSTRUCTION2(Mult); |
DEFINE_INSTRUCTION2(Multu); |
@@ -1142,12 +1145,20 @@ class MacroAssembler: public Assembler { |
Register overflow_dst, |
Register scratch = at); |
+ void AdduAndCheckForOverflow(Register dst, Register left, |
+ const Operand& right, Register overflow_dst, |
+ Register scratch = at); |
+ |
void SubuAndCheckForOverflow(Register dst, |
Register left, |
Register right, |
Register overflow_dst, |
Register scratch = at); |
+ void SubuAndCheckForOverflow(Register dst, Register left, |
+ const Operand& right, Register overflow_dst, |
+ Register scratch = at); |
+ |
void BranchOnOverflow(Label* label, |
Register overflow_check, |
BranchDelaySlot bd = PROTECT) { |
@@ -1172,13 +1183,10 @@ class MacroAssembler: public Assembler { |
// Runtime calls. |
// See comments at the beginning of CEntryStub::Generate. |
- inline void PrepareCEntryArgs(int num_args) { |
- li(s0, num_args); |
- li(s1, (num_args - 1) * kPointerSize); |
- } |
+ inline void PrepareCEntryArgs(int num_args) { li(a0, num_args); } |
inline void PrepareCEntryFunction(const ExternalReference& ref) { |
- li(s2, Operand(ref)); |
+ li(a1, Operand(ref)); |
} |
#define COND_ARGS Condition cond = al, Register rs = zero_reg, \ |