| Index: src/mips/lithium-codegen-mips.cc
|
| diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc
|
| index 194652562216c6bee905e3adce078794cfd591c8..eaf5b173d4a344181271d3b3f557833d1677c0a2 100644
|
| --- a/src/mips/lithium-codegen-mips.cc
|
| +++ b/src/mips/lithium-codegen-mips.cc
|
| @@ -2527,11 +2527,12 @@ void LCodeGen::DoCmpT(LCmpT* instr) {
|
| // A minor optimization that relies on LoadRoot always emitting one
|
| // instruction.
|
| Assembler::BlockTrampolinePoolScope block_trampoline_pool(masm());
|
| - Label done;
|
| + Label done, check;
|
| __ Branch(USE_DELAY_SLOT, &done, condition, v0, Operand(zero_reg));
|
| + __ bind(&check);
|
| __ LoadRoot(ToRegister(instr->result()), Heap::kTrueValueRootIndex);
|
| + ASSERT_EQ(1, masm()->InstructionsGeneratedSince(&check));
|
| __ LoadRoot(ToRegister(instr->result()), Heap::kFalseValueRootIndex);
|
| - ASSERT_EQ(3, masm()->InstructionsGeneratedSince(&done));
|
| __ bind(&done);
|
| }
|
|
|
| @@ -3506,8 +3507,6 @@ void LCodeGen::EmitIntegerMathAbs(LUnaryMathOperation* instr) {
|
| Label done;
|
| __ Branch(USE_DELAY_SLOT, &done, ge, input, Operand(zero_reg));
|
| __ mov(result, input);
|
| - ASSERT_EQ(2, masm()->InstructionsGeneratedSince(&done));
|
| - __ subu(result, zero_reg, input);
|
| // Overflow if result is still negative, i.e. 0x80000000.
|
| DeoptimizeIf(lt, instr->environment(), result, Operand(zero_reg));
|
| __ bind(&done);
|
|
|