| Index: src/mips/lithium-codegen-mips.cc
|
| diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc
|
| index c647121d8004c82226b2cdd4817041c7e8a5e0c8..d8550494e7e307175a0ffb43b78154b45c9c0c12 100644
|
| --- a/src/mips/lithium-codegen-mips.cc
|
| +++ b/src/mips/lithium-codegen-mips.cc
|
| @@ -3447,7 +3447,7 @@ void LCodeGen::DoCallConstantFunction(LCallConstantFunction* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LUnaryMathOperation* instr) {
|
| +void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LMathAbs* instr) {
|
| Register input = ToRegister(instr->value());
|
| Register result = ToRegister(instr->result());
|
| Register scratch = scratch0();
|
| @@ -3512,7 +3512,7 @@ void LCodeGen::DoDeferredMathAbsTaggedHeapNumber(LUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::EmitIntegerMathAbs(LUnaryMathOperation* instr) {
|
| +void LCodeGen::EmitIntegerMathAbs(LMathAbs* instr) {
|
| Register input = ToRegister(instr->value());
|
| Register result = ToRegister(instr->result());
|
| Assembler::BlockTrampolinePoolScope block_trampoline_pool(masm_);
|
| @@ -3525,20 +3525,19 @@ void LCodeGen::EmitIntegerMathAbs(LUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoMathAbs(LUnaryMathOperation* instr) {
|
| +void LCodeGen::DoMathAbs(LMathAbs* instr) {
|
| CpuFeatureScope scope(masm(), FPU);
|
| // Class for deferred case.
|
| class DeferredMathAbsTaggedHeapNumber: public LDeferredCode {
|
| public:
|
| - DeferredMathAbsTaggedHeapNumber(LCodeGen* codegen,
|
| - LUnaryMathOperation* instr)
|
| + DeferredMathAbsTaggedHeapNumber(LCodeGen* codegen, LMathAbs* instr)
|
| : LDeferredCode(codegen), instr_(instr) { }
|
| virtual void Generate() {
|
| codegen()->DoDeferredMathAbsTaggedHeapNumber(instr_);
|
| }
|
| virtual LInstruction* instr() { return instr_; }
|
| private:
|
| - LUnaryMathOperation* instr_;
|
| + LMathAbs* instr_;
|
| };
|
|
|
| Representation r = instr->hydrogen()->value()->representation();
|
| @@ -3562,7 +3561,7 @@ void LCodeGen::DoMathAbs(LUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoMathFloor(LUnaryMathOperation* instr) {
|
| +void LCodeGen::DoMathFloor(LMathFloor* instr) {
|
| CpuFeatureScope scope(masm(), FPU);
|
| DoubleRegister input = ToDoubleRegister(instr->value());
|
| Register result = ToRegister(instr->result());
|
| @@ -3591,7 +3590,7 @@ void LCodeGen::DoMathFloor(LUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoMathRound(LUnaryMathOperation* instr) {
|
| +void LCodeGen::DoMathRound(LMathRound* instr) {
|
| CpuFeatureScope scope(masm(), FPU);
|
| DoubleRegister input = ToDoubleRegister(instr->value());
|
| Register result = ToRegister(instr->result());
|
| @@ -3668,7 +3667,7 @@ void LCodeGen::DoMathRound(LUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoMathSqrt(LUnaryMathOperation* instr) {
|
| +void LCodeGen::DoMathSqrt(LMathSqrt* instr) {
|
| CpuFeatureScope scope(masm(), FPU);
|
| DoubleRegister input = ToDoubleRegister(instr->value());
|
| DoubleRegister result = ToDoubleRegister(instr->result());
|
| @@ -3676,7 +3675,7 @@ void LCodeGen::DoMathSqrt(LUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoMathPowHalf(LUnaryMathOperation* instr) {
|
| +void LCodeGen::DoMathPowHalf(LMathPowHalf* instr) {
|
| CpuFeatureScope scope(masm(), FPU);
|
| DoubleRegister input = ToDoubleRegister(instr->value());
|
| DoubleRegister result = ToDoubleRegister(instr->result());
|
| @@ -3824,7 +3823,7 @@ void LCodeGen::DoMathExp(LMathExp* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoMathLog(LUnaryMathOperation* instr) {
|
| +void LCodeGen::DoMathLog(LMathLog* instr) {
|
| ASSERT(ToDoubleRegister(instr->result()).is(f4));
|
| TranscendentalCacheStub stub(TranscendentalCache::LOG,
|
| TranscendentalCacheStub::UNTAGGED);
|
| @@ -3832,7 +3831,7 @@ void LCodeGen::DoMathLog(LUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoMathTan(LUnaryMathOperation* instr) {
|
| +void LCodeGen::DoMathTan(LMathTan* instr) {
|
| ASSERT(ToDoubleRegister(instr->result()).is(f4));
|
| TranscendentalCacheStub stub(TranscendentalCache::TAN,
|
| TranscendentalCacheStub::UNTAGGED);
|
| @@ -3840,7 +3839,7 @@ void LCodeGen::DoMathTan(LUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoMathCos(LUnaryMathOperation* instr) {
|
| +void LCodeGen::DoMathCos(LMathCos* instr) {
|
| ASSERT(ToDoubleRegister(instr->result()).is(f4));
|
| TranscendentalCacheStub stub(TranscendentalCache::COS,
|
| TranscendentalCacheStub::UNTAGGED);
|
| @@ -3848,7 +3847,7 @@ void LCodeGen::DoMathCos(LUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoMathSin(LUnaryMathOperation* instr) {
|
| +void LCodeGen::DoMathSin(LMathSin* instr) {
|
| ASSERT(ToDoubleRegister(instr->result()).is(f4));
|
| TranscendentalCacheStub stub(TranscendentalCache::SIN,
|
| TranscendentalCacheStub::UNTAGGED);
|
| @@ -3856,42 +3855,6 @@ void LCodeGen::DoMathSin(LUnaryMathOperation* instr) {
|
| }
|
|
|
|
|
| -void LCodeGen::DoUnaryMathOperation(LUnaryMathOperation* instr) {
|
| - switch (instr->op()) {
|
| - case kMathAbs:
|
| - DoMathAbs(instr);
|
| - break;
|
| - case kMathFloor:
|
| - DoMathFloor(instr);
|
| - break;
|
| - case kMathRound:
|
| - DoMathRound(instr);
|
| - break;
|
| - case kMathSqrt:
|
| - DoMathSqrt(instr);
|
| - break;
|
| - case kMathPowHalf:
|
| - DoMathPowHalf(instr);
|
| - break;
|
| - case kMathCos:
|
| - DoMathCos(instr);
|
| - break;
|
| - case kMathSin:
|
| - DoMathSin(instr);
|
| - break;
|
| - case kMathTan:
|
| - DoMathTan(instr);
|
| - break;
|
| - case kMathLog:
|
| - DoMathLog(instr);
|
| - break;
|
| - default:
|
| - Abort("Unimplemented type of LUnaryMathOperation.");
|
| - UNREACHABLE();
|
| - }
|
| -}
|
| -
|
| -
|
| void LCodeGen::DoInvokeFunction(LInvokeFunction* instr) {
|
| ASSERT(ToRegister(instr->function()).is(a1));
|
| ASSERT(instr->HasPointerMap());
|
|
|