| Index: src/crankshaft/mips64/lithium-mips64.cc
|
| diff --git a/src/crankshaft/mips64/lithium-mips64.cc b/src/crankshaft/mips64/lithium-mips64.cc
|
| index f001ee487af9fe743034631bf1af49514d18c6a7..17f59d84fccff7dfc499b963435e33416a0bc452 100644
|
| --- a/src/crankshaft/mips64/lithium-mips64.cc
|
| +++ b/src/crankshaft/mips64/lithium-mips64.cc
|
| @@ -1107,8 +1107,12 @@
|
| LInstruction* LChunkBuilder::DoMathExp(HUnaryMathOperation* instr) {
|
| DCHECK(instr->representation().IsDouble());
|
| DCHECK(instr->value()->representation().IsDouble());
|
| - LOperand* input = UseFixedDouble(instr->value(), f4);
|
| - return MarkAsCall(DefineFixedDouble(new (zone()) LMathExp(input), f4), instr);
|
| + LOperand* input = UseRegister(instr->value());
|
| + LOperand* temp1 = TempRegister();
|
| + LOperand* temp2 = TempRegister();
|
| + LOperand* double_temp = TempDoubleRegister();
|
| + LMathExp* result = new(zone()) LMathExp(input, double_temp, temp1, temp2);
|
| + return DefineAsRegister(result);
|
| }
|
|
|
|
|
|
|