Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index a753091132809bbc62077658ce76ff60b23d5725..75d8316971e6fc7fa463c105c6fcba748c7a6060 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -5253,11 +5253,11 @@ void LCodeGen::DoCheckMaps(LCheckMaps* instr) { |
__ CompareMapAndBranch(map_reg, map, &success, eq, &success); |
} |
Handle<Map> map = map_set->last(); |
- __ CompareMapAndBranch(map_reg, map, &success, eq, &success); |
+ // Do the CompareMap() directly within the Branch() and DeoptimizeIf(). |
if (instr->hydrogen()->has_migration_target()) { |
- __ Branch(deferred->entry()); |
+ __ Branch(deferred->entry(), ne, map_reg, Operand(map)); |
} else { |
- DeoptimizeIf(al, instr->environment()); |
+ DeoptimizeIf(ne, instr->environment(), map_reg, Operand(map)); |
} |
__ bind(&success); |