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

Unified Diff: src/arm/jump-target-arm.cc

Issue 2249002: Fix jump targets on ARM to merge virtual frames (really this time).... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 7 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
« no previous file with comments | « src/arm/ic-arm.cc ('k') | src/arm/macro-assembler-arm.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/arm/jump-target-arm.cc
===================================================================
--- src/arm/jump-target-arm.cc (revision 4738)
+++ src/arm/jump-target-arm.cc (working copy)
@@ -69,18 +69,15 @@
if (entry_frame_set_) {
// Backward branch. We have an expected frame to merge to on the
// backward edge.
- if (cc == al) {
- cgen()->frame()->MergeTo(&entry_frame_);
- } else {
- // We can't do conditional merges yet so you have to ensure that all
- // conditional branches to the JumpTarget have the same virtual frame.
- ASSERT(cgen()->frame()->Equals(&entry_frame_));
- }
+ cgen()->frame()->MergeTo(&entry_frame_, cc);
} else {
// Clone the current frame to use as the expected one at the target.
set_entry_frame(cgen()->frame());
}
__ b(cc, &entry_label_);
+ if (cc == al) {
+ cgen()->DeleteFrame();
+ }
}
« no previous file with comments | « src/arm/ic-arm.cc ('k') | src/arm/macro-assembler-arm.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698