| Index: src/mips/lithium-mips.cc
|
| diff --git a/src/mips/lithium-mips.cc b/src/mips/lithium-mips.cc
|
| index 889e99700c2774ab89e3861809bbc9387d047415..422545475ef6849d36d0ac4191f70a864d46deef 100644
|
| --- a/src/mips/lithium-mips.cc
|
| +++ b/src/mips/lithium-mips.cc
|
| @@ -1360,15 +1360,10 @@ LInstruction* LChunkBuilder::DoDiv(HDiv* instr) {
|
| if (instr->representation().IsDouble()) {
|
| return DoArithmeticD(Token::DIV, instr);
|
| } else if (instr->representation().IsInteger32()) {
|
| - // TODO(1042) The fixed register allocation
|
| - // is needed because we call TypeRecordingBinaryOpStub from
|
| - // the generated code, which requires registers a0
|
| - // and a1 to be used. We should remove that
|
| - // when we provide a native implementation.
|
| - LOperand* dividend = UseFixed(instr->left(), a0);
|
| - LOperand* divisor = UseFixed(instr->right(), a1);
|
| - return AssignEnvironment(AssignPointerMap(
|
| - DefineFixed(new(zone()) LDivI(dividend, divisor), v0)));
|
| + LOperand* dividend = UseRegister(instr->left());
|
| + LOperand* divisor = UseRegister(instr->right());
|
| + LDivI* div = new(zone()) LDivI(dividend, divisor);
|
| + return AssignEnvironment(DefineAsRegister(div));
|
| } else {
|
| return DoArithmeticT(Token::DIV, instr);
|
| }
|
|
|