| 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..02eb26903ef498b483668e009aec28e1a548b0bb 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();
|
| }
|
| @@ -1945,7 +1938,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);
|
| @@ -3378,7 +3371,9 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) {
|
| __ Branch(&result_in_receiver);
|
|
|
| __ bind(&global_object);
|
| - __ lw(result, GlobalObjectOperand());
|
| +
|
| + __ lw(result, MemOperand(fp, StandardFrameConstants::kContextOffset));
|
| + __ lw(result, ContextOperand(result, Context::GLOBAL_OBJECT_INDEX));
|
| __ lw(result,
|
| FieldMemOperand(result, JSGlobalObject::kGlobalReceiverOffset));
|
| if (result.is(receiver)) {
|
| @@ -3864,13 +3859,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()));
|
| }
|
|
|
|
|
|
|