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

Unified Diff: src/ia32/codegen-ia32.cc

Issue 1019006: Fix excessive stack usage by compiler due to local in recursive scope. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 9 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/ia32/codegen-ia32.cc
===================================================================
--- src/ia32/codegen-ia32.cc (revision 4148)
+++ src/ia32/codegen-ia32.cc (working copy)
@@ -560,7 +560,6 @@
int original_height = frame_->height();
#endif
ASSERT(!in_spilled_code());
- JumpTarget done;
// If the expression should be a side-effect-free 32-bit int computation,
// compile that SafeInt32 path, and a bailout path.
@@ -570,6 +569,7 @@
expr->num_bit_ops() > 2 &&
CpuFeatures::IsSupported(SSE2)) {
BreakTarget unsafe_bailout;
+ JumpTarget done;
unsafe_bailout.set_expected_height(frame_->height());
LoadInSafeInt32Mode(expr, &unsafe_bailout);
done.Jump();
@@ -578,6 +578,7 @@
unsafe_bailout.Bind();
LoadWithSafeInt32ModeDisabled(expr);
}
+ done.Bind();
} else {
JumpTarget true_target;
JumpTarget false_target;
@@ -633,7 +634,6 @@
}
}
}
- done.Bind();
ASSERT(has_valid_frame());
ASSERT(frame_->height() == original_height + 1);
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698