Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index 4ff896d469f962ad7a1f65653cd5ef2cd160cbc2..922522bdec1287875acff5f797ee3fa99b70eee2 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -4182,6 +4182,7 @@ void LCodeGen::DoStoreNamedGeneric(LStoreNamedGeneric* instr) { |
void LCodeGen::DoBoundsCheck(LBoundsCheck* instr) { |
if (instr->hydrogen()->skip_check()) return; |
+ Condition condition = instr->hydrogen()->allow_equality() ? hi : hs; |
if (instr->index()->IsConstantOperand()) { |
int constant_index = |
ToInteger32(LConstantOperand::cast(instr->index())); |
@@ -4190,12 +4191,12 @@ void LCodeGen::DoBoundsCheck(LBoundsCheck* instr) { |
} else { |
__ li(at, Operand(constant_index)); |
} |
- DeoptimizeIf(hs, |
+ DeoptimizeIf(condition, |
instr->environment(), |
at, |
Operand(ToRegister(instr->length()))); |
} else { |
- DeoptimizeIf(hs, |
+ DeoptimizeIf(condition, |
instr->environment(), |
ToRegister(instr->index()), |
Operand(ToRegister(instr->length()))); |