| 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, \
|
|
|