Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index b4d9441b58d4b205f983e1d3f032d589a1e51f84..3788faaec878ca19111476b593b5be7fe2b907d5 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -1045,13 +1045,6 @@ void LCodeGen::DoCallStub(LCallStub* instr) { |
CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
break; |
} |
- case CodeStub::TranscendentalCache: { |
- __ lw(a0, MemOperand(sp, 0)); |
- TranscendentalCacheStub stub(instr->transcendental_type(), |
- TranscendentalCacheStub::TAGGED); |
- CallCode(stub.GetCode(isolate()), RelocInfo::CODE_TARGET, instr); |
- break; |
- } |
default: |
UNREACHABLE(); |
} |
@@ -3864,13 +3857,11 @@ void LCodeGen::DoMathExp(LMathExp* instr) { |
void LCodeGen::DoMathLog(LMathLog* instr) { |
- ASSERT(ToDoubleRegister(instr->result()).is(f4)); |
- // Set the context register to a GC-safe fake value. Clobbering it is |
- // OK because this instruction is marked as a call. |
- __ mov(cp, zero_reg); |
- 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())); |
} |