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