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

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

Issue 11232: First step toward allowing constants to appear in the virtual frame... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/toiger/
Patch Set: '' Created 12 years, 1 month 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/jump-target-ia32.cc
===================================================================
--- src/jump-target-ia32.cc (revision 787)
+++ src/jump-target-ia32.cc (working copy)
@@ -69,11 +69,12 @@
if (expected_frame_ == NULL) {
expected_frame_ = current_frame;
- code_generator_->set_frame(NULL);
+ expected_frame_->EnsureMergable();
// The frame at the actual function return will always have height zero.
if (code_generator_->IsActualFunctionReturn(this)) {
expected_frame_->Forget(expected_frame_->height());
}
+ code_generator_->set_frame(NULL);
} else {
// No code needs to be emitted to merge to the expected frame at the
// actual function return.
@@ -100,6 +101,7 @@
if (expected_frame_ == NULL) {
expected_frame_ = new VirtualFrame(current_frame);
+ expected_frame_->EnsureMergable();
// The frame at the actual function return will always have height zero.
if (code_generator_->IsActualFunctionReturn(this)) {
expected_frame_->Forget(expected_frame_->height());
@@ -130,6 +132,7 @@
ASSERT(expected_frame_ == NULL);
expected_frame_ = new VirtualFrame(current_frame);
+ expected_frame_->EnsureMergable();
// Adjust the expected frame's height to account for the return address
// pushed by the call instruction.
expected_frame_->Adjust(1);
@@ -153,6 +156,7 @@
if (expected_frame_ == NULL) {
expected_frame_ = new VirtualFrame(current_frame);
+ expected_frame_->EnsureMergable();
// The frame at the actual function return will always have height zero.
if (code_generator_->IsActualFunctionReturn(this)) {
expected_frame_->Forget(expected_frame_->height());

Powered by Google App Engine
This is Rietveld 408576698