| Index: src/crankshaft/x64/lithium-x64.cc
|
| diff --git a/src/crankshaft/x64/lithium-x64.cc b/src/crankshaft/x64/lithium-x64.cc
|
| index 192c3beac9a37202fe3b20189ca3240a308155dd..22d8ac5b7733a2026fcca17acdacc8ffefb15e19 100644
|
| --- a/src/crankshaft/x64/lithium-x64.cc
|
| +++ b/src/crankshaft/x64/lithium-x64.cc
|
| @@ -1171,9 +1171,11 @@
|
| LInstruction* LChunkBuilder::DoMathExp(HUnaryMathOperation* instr) {
|
| DCHECK(instr->representation().IsDouble());
|
| DCHECK(instr->value()->representation().IsDouble());
|
| - LOperand* input = UseFixedDouble(instr->value(), xmm0);
|
| - return MarkAsCall(DefineFixedDouble(new (zone()) LMathExp(input), xmm0),
|
| - instr);
|
| + LOperand* value = UseTempRegister(instr->value());
|
| + LOperand* temp1 = TempRegister();
|
| + LOperand* temp2 = TempRegister();
|
| + LMathExp* result = new(zone()) LMathExp(value, temp1, temp2);
|
| + return DefineAsRegister(result);
|
| }
|
|
|
|
|
|
|