| Index: src/crankshaft/arm/lithium-codegen-arm.cc
|
| diff --git a/src/crankshaft/arm/lithium-codegen-arm.cc b/src/crankshaft/arm/lithium-codegen-arm.cc
|
| index 65ad7107e1c8b81daacab29e49a748bef8cf26c2..8eda5922f428547bfe55c7e7c5f11c07447bf94e 100644
|
| --- a/src/crankshaft/arm/lithium-codegen-arm.cc
|
| +++ b/src/crankshaft/arm/lithium-codegen-arm.cc
|
| @@ -3540,10 +3540,16 @@
|
|
|
|
|
| void LCodeGen::DoMathExp(LMathExp* instr) {
|
| - __ PrepareCallCFunction(0, 1, scratch0());
|
| - __ MovToFloatParameter(ToDoubleRegister(instr->value()));
|
| - __ CallCFunction(ExternalReference::ieee754_exp_function(isolate()), 0, 1);
|
| - __ MovFromFloatResult(ToDoubleRegister(instr->result()));
|
| + DwVfpRegister input = ToDoubleRegister(instr->value());
|
| + DwVfpRegister result = ToDoubleRegister(instr->result());
|
| + DwVfpRegister double_scratch1 = ToDoubleRegister(instr->double_temp());
|
| + DwVfpRegister double_scratch2 = double_scratch0();
|
| + Register temp1 = ToRegister(instr->temp1());
|
| + Register temp2 = ToRegister(instr->temp2());
|
| +
|
| + MathExpGenerator::EmitMathExp(
|
| + masm(), input, result, double_scratch1, double_scratch2,
|
| + temp1, temp2, scratch0());
|
| }
|
|
|
|
|
|
|