Chromium Code Reviews

Unified Diff: src/mips/lithium-codegen-mips.cc

Issue 22391008: MIPS: Optimize DoCheckMaps. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine