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