Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Unified Diff: src/arm/lithium-arm.cc

Issue 7491054: Implement type recording for ToBoolean on ARM. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/arm/lithium-arm.cc
===================================================================
--- src/arm/lithium-arm.cc (revision 8836)
+++ src/arm/lithium-arm.cc (working copy)
@@ -1039,7 +1039,11 @@
: instr->SecondSuccessor();
return new LGoto(successor->block_id());
}
- return new LBranch(UseRegisterAtStart(v));
+ LInstruction* branch = new LBranch(UseRegister(v));
+ // When we handle all cases, we never deopt, so we don't need to assign the
+ // environment then.
Erik Corry 2011/08/05 12:50:46 Do we hit this case in the tests? I would guess i
Sven Panne 2011/08/09 07:58:21 Currently it happens quite often, because we fall
+ bool all_cases_handled = instr->expected_input_types().IsAll();
+ return all_cases_handled ? branch : AssignEnvironment(branch);
}

Powered by Google App Engine
This is Rietveld 408576698