Loading js/src/jit/CodeGenerator.cpp +1 −27 Original line number Diff line number Diff line Loading @@ -9320,7 +9320,7 @@ void CodeGenerator::visitTruncF(LTruncF* lir) { void CodeGenerator::emitCompareS(LInstruction* lir, JSOp op, Register left, Register right, Register output) { MOZ_ASSERT(lir->isCompareS() || lir->isCompareStrictS()); MOZ_ASSERT(lir->isCompareS()); OutOfLineCode* ool = nullptr; Loading Loading @@ -9357,32 +9357,6 @@ void CodeGenerator::emitCompareS(LInstruction* lir, JSOp op, Register left, masm.bind(ool->rejoin()); } void CodeGenerator::visitCompareStrictS(LCompareStrictS* lir) { JSOp op = lir->mir()->jsop(); MOZ_ASSERT(op == JSOp::StrictEq || op == JSOp::StrictNe); const ValueOperand leftV = ToValue(lir, LCompareStrictS::Lhs); Register right = ToRegister(lir->right()); Register output = ToRegister(lir->output()); Label string, done; masm.branchTestString(Assembler::Equal, leftV, &string); masm.move32(Imm32(op == JSOp::StrictNe), output); masm.jump(&done); masm.bind(&string); #ifdef JS_NUNBOX32 Register left = leftV.payloadReg(); #else Register left = ToTempUnboxRegister(lir->tempToUnbox()); #endif masm.unboxString(leftV, left); emitCompareS(lir, op, left, right, output); masm.bind(&done); } void CodeGenerator::visitCompareS(LCompareS* lir) { JSOp op = lir->mir()->jsop(); Register left = ToRegister(lir->left()); Loading js/src/jit/shared/LIR-shared.h +0 −20 Original line number Diff line number Diff line Loading @@ -1696,26 +1696,6 @@ class LCompareS : public LInstructionHelper<1, 2, 0> { MCompare* mir() { return mir_->toCompare(); } }; // strict-equality between value and string. class LCompareStrictS : public LInstructionHelper<1, BOX_PIECES + 1, 1> { public: LIR_HEADER(CompareStrictS) LCompareStrictS(const LBoxAllocation& lhs, const LAllocation& rhs, const LDefinition& temp) : LInstructionHelper(classOpcode) { setBoxOperand(Lhs, lhs); setOperand(BOX_PIECES, rhs); setTemp(0, temp); } static const size_t Lhs = 0; const LAllocation* right() { return getOperand(BOX_PIECES); } const LDefinition* tempToUnbox() { return getTemp(0); } MCompare* mir() { return mir_->toCompare(); } }; class LCompareBigInt : public LInstructionHelper<1, 2, 3> { public: LIR_HEADER(CompareBigInt) Loading Loading
js/src/jit/CodeGenerator.cpp +1 −27 Original line number Diff line number Diff line Loading @@ -9320,7 +9320,7 @@ void CodeGenerator::visitTruncF(LTruncF* lir) { void CodeGenerator::emitCompareS(LInstruction* lir, JSOp op, Register left, Register right, Register output) { MOZ_ASSERT(lir->isCompareS() || lir->isCompareStrictS()); MOZ_ASSERT(lir->isCompareS()); OutOfLineCode* ool = nullptr; Loading Loading @@ -9357,32 +9357,6 @@ void CodeGenerator::emitCompareS(LInstruction* lir, JSOp op, Register left, masm.bind(ool->rejoin()); } void CodeGenerator::visitCompareStrictS(LCompareStrictS* lir) { JSOp op = lir->mir()->jsop(); MOZ_ASSERT(op == JSOp::StrictEq || op == JSOp::StrictNe); const ValueOperand leftV = ToValue(lir, LCompareStrictS::Lhs); Register right = ToRegister(lir->right()); Register output = ToRegister(lir->output()); Label string, done; masm.branchTestString(Assembler::Equal, leftV, &string); masm.move32(Imm32(op == JSOp::StrictNe), output); masm.jump(&done); masm.bind(&string); #ifdef JS_NUNBOX32 Register left = leftV.payloadReg(); #else Register left = ToTempUnboxRegister(lir->tempToUnbox()); #endif masm.unboxString(leftV, left); emitCompareS(lir, op, left, right, output); masm.bind(&done); } void CodeGenerator::visitCompareS(LCompareS* lir) { JSOp op = lir->mir()->jsop(); Register left = ToRegister(lir->left()); Loading
js/src/jit/shared/LIR-shared.h +0 −20 Original line number Diff line number Diff line Loading @@ -1696,26 +1696,6 @@ class LCompareS : public LInstructionHelper<1, 2, 0> { MCompare* mir() { return mir_->toCompare(); } }; // strict-equality between value and string. class LCompareStrictS : public LInstructionHelper<1, BOX_PIECES + 1, 1> { public: LIR_HEADER(CompareStrictS) LCompareStrictS(const LBoxAllocation& lhs, const LAllocation& rhs, const LDefinition& temp) : LInstructionHelper(classOpcode) { setBoxOperand(Lhs, lhs); setOperand(BOX_PIECES, rhs); setTemp(0, temp); } static const size_t Lhs = 0; const LAllocation* right() { return getOperand(BOX_PIECES); } const LDefinition* tempToUnbox() { return getTemp(0); } MCompare* mir() { return mir_->toCompare(); } }; class LCompareBigInt : public LInstructionHelper<1, 2, 3> { public: LIR_HEADER(CompareBigInt) Loading