Chromium Code Reviews| Index: src/arm/lithium-codegen-arm.cc |
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
| index 8f1c9c090dfbdf6e1de38ed34c1f028a2efbe8b0..b4b80fafab1b27947226b0ae26ce1b8ae6a798bd 100644 |
| --- a/src/arm/lithium-codegen-arm.cc |
| +++ b/src/arm/lithium-codegen-arm.cc |
| @@ -1085,13 +1085,6 @@ void LCodeGen::DoCallStub(LCallStub* instr) { |
| CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
| break; |
| } |
| - case CodeStub::TranscendentalCache: { |
| - __ ldr(r0, MemOperand(sp, 0)); |
| - TranscendentalCacheStub stub(instr->transcendental_type(), |
| - TranscendentalCacheStub::TAGGED); |
| - CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
| - break; |
| - } |
| default: |
| UNREACHABLE(); |
| } |
| @@ -3941,13 +3934,11 @@ void LCodeGen::DoMathExp(LMathExp* instr) { |
| void LCodeGen::DoMathLog(LMathLog* instr) { |
| - ASSERT(ToDoubleRegister(instr->result()).is(d2)); |
| - // Set the context register to a GC-safe fake value. Clobbering it is |
| - // OK because this instruction is marked as a call. |
| - __ mov(cp, Operand::Zero()); |
| - TranscendentalCacheStub stub(TranscendentalCache::LOG, |
| - TranscendentalCacheStub::UNTAGGED); |
| - CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
| + __ PrepareCallCFunction(0, 1, scratch0()); |
| + __ SetCallCDoubleArguments(ToDoubleRegister(instr->value())); |
| + __ CallCFunction(ExternalReference::math_log_double_function(isolate()), |
|
Yang
2013/12/13 15:54:39
I just took a look at ExternalReference::math_log_
Sven Panne
2013/12/16 08:20:23
Good point. Of course the compiler won't "inline",
|
| + 0, 1); |
| + __ GetCFunctionDoubleResult(ToDoubleRegister(instr->result())); |
| } |