Index: src/crankshaft/x64/lithium-codegen-x64.cc |
diff --git a/src/crankshaft/x64/lithium-codegen-x64.cc b/src/crankshaft/x64/lithium-codegen-x64.cc |
index 0a2a0b687c02719dddfe28148f3cec4e2c40e00b..236157a24ca7bcb28ea0fcd2d9a3ef71296757f3 100644 |
--- a/src/crankshaft/x64/lithium-codegen-x64.cc |
+++ b/src/crankshaft/x64/lithium-codegen-x64.cc |
@@ -3600,13 +3600,10 @@ void LCodeGen::DoPower(LPower* instr) { |
void LCodeGen::DoMathExp(LMathExp* instr) { |
- XMMRegister input = ToDoubleRegister(instr->value()); |
- XMMRegister result = ToDoubleRegister(instr->result()); |
- XMMRegister temp0 = double_scratch0(); |
- Register temp1 = ToRegister(instr->temp1()); |
- Register temp2 = ToRegister(instr->temp2()); |
- |
- MathExpGenerator::EmitMathExp(masm(), input, result, temp0, temp1, temp2); |
+ DCHECK(ToDoubleRegister(instr->value()).is(xmm0)); |
+ DCHECK(ToDoubleRegister(instr->result()).is(xmm0)); |
+ __ PrepareCallCFunction(1); |
+ __ CallCFunction(ExternalReference::ieee754_exp_function(isolate()), 1); |
} |