| Index: src/crankshaft/arm/lithium-arm.cc
|
| diff --git a/src/crankshaft/arm/lithium-arm.cc b/src/crankshaft/arm/lithium-arm.cc
|
| index f0f9327a5083f679acc01a76546ccbc901d1d96b..b015d06299bc24d65dd782afeb143fb0939038e7 100644
|
| --- a/src/crankshaft/arm/lithium-arm.cc
|
| +++ b/src/crankshaft/arm/lithium-arm.cc
|
| @@ -1138,8 +1138,12 @@
|
| LInstruction* LChunkBuilder::DoMathExp(HUnaryMathOperation* instr) {
|
| DCHECK(instr->representation().IsDouble());
|
| DCHECK(instr->value()->representation().IsDouble());
|
| - LOperand* input = UseFixedDouble(instr->value(), d0);
|
| - return MarkAsCall(DefineFixedDouble(new (zone()) LMathExp(input), d0), 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);
|
| }
|
|
|
|
|
|
|