| Index: src/crankshaft/ia32/lithium-ia32.cc
|
| diff --git a/src/crankshaft/ia32/lithium-ia32.cc b/src/crankshaft/ia32/lithium-ia32.cc
|
| index 22e923e86899bd91e7247940e44acb07ad43bb09..5e9561bfc076d2d024d376a7993ac4135ecf6822 100644
|
| --- a/src/crankshaft/ia32/lithium-ia32.cc
|
| +++ b/src/crankshaft/ia32/lithium-ia32.cc
|
| @@ -1181,8 +1181,11 @@
|
| LInstruction* LChunkBuilder::DoMathExp(HUnaryMathOperation* instr) {
|
| DCHECK(instr->representation().IsDouble());
|
| DCHECK(instr->value()->representation().IsDouble());
|
| - LOperand* input = UseRegisterAtStart(instr->value());
|
| - return MarkAsCall(DefineSameAsFirst(new (zone()) LMathExp(input)), instr);
|
| + LOperand* value = UseTempRegister(instr->value());
|
| + LOperand* temp1 = TempRegister();
|
| + LOperand* temp2 = TempRegister();
|
| + LMathExp* result = new(zone()) LMathExp(value, temp1, temp2);
|
| + return DefineAsRegister(result);
|
| }
|
|
|
|
|
|
|