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..ade69286c8446405e8f9a39fe0beebf8721ba3f1 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(); |
} |
@@ -2134,7 +2127,7 @@ void LCodeGen::DoArithmeticD(LArithmeticD* instr) { |
__ PrepareCallCFunction(0, 2, scratch0()); |
__ SetCallCDoubleArguments(left, right); |
__ CallCFunction( |
- ExternalReference::double_fp_operation(Token::MOD, isolate()), |
+ ExternalReference::mod_two_doubles_operation(isolate()), |
0, 2); |
// Move the result in the double result register. |
__ GetCFunctionDoubleResult(result); |
@@ -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()), |
+ 0, 1); |
+ __ GetCFunctionDoubleResult(ToDoubleRegister(instr->result())); |
} |