| 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 236157a24ca7bcb28ea0fcd2d9a3ef71296757f3..0a2a0b687c02719dddfe28148f3cec4e2c40e00b 100644
|
| --- a/src/crankshaft/x64/lithium-codegen-x64.cc
|
| +++ b/src/crankshaft/x64/lithium-codegen-x64.cc
|
| @@ -3600,10 +3600,13 @@
|
|
|
|
|
| void LCodeGen::DoMathExp(LMathExp* instr) {
|
| - DCHECK(ToDoubleRegister(instr->value()).is(xmm0));
|
| - DCHECK(ToDoubleRegister(instr->result()).is(xmm0));
|
| - __ PrepareCallCFunction(1);
|
| - __ CallCFunction(ExternalReference::ieee754_exp_function(isolate()), 1);
|
| + 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);
|
| }
|
|
|
|
|
|
|