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

Unified Diff: src/jump-target.cc

Issue 165230: Eliminate most of the jump target jumping, branching, and binding... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 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/jump-target.cc
===================================================================
--- src/jump-target.cc (revision 2654)
+++ src/jump-target.cc (working copy)
@@ -323,25 +323,6 @@
}
-void BreakTarget::Jump() {
- ASSERT(cgen()->has_valid_frame());
-
- // Drop leftover statement state from the frame before merging.
- cgen()->frame()->ForgetElements(cgen()->frame()->height() - expected_height_);
- DoJump();
-}
-
-
-void BreakTarget::Jump(Result* arg) {
- ASSERT(cgen()->has_valid_frame());
-
- // Drop leftover statement state from the frame before merging.
- cgen()->frame()->ForgetElements(cgen()->frame()->height() - expected_height_);
- cgen()->frame()->Push(arg);
- DoJump();
-}
-
-
void BreakTarget::Branch(Condition cc, Hint hint) {
ASSERT(cgen()->has_valid_frame());
@@ -362,48 +343,6 @@
}
-void BreakTarget::Bind() {
-#ifdef DEBUG
- // All the forward-reaching frames should have been adjusted at the
- // jumps to this target.
- for (int i = 0; i < reaching_frames_.length(); i++) {
- ASSERT(reaching_frames_[i] == NULL ||
- reaching_frames_[i]->height() == expected_height_);
- }
-#endif
- // Drop leftover statement state from the frame before merging, even
- // on the fall through. This is so we can bind the return target
- // with state on the frame.
- if (cgen()->has_valid_frame()) {
- int count = cgen()->frame()->height() - expected_height_;
- cgen()->frame()->ForgetElements(count);
- }
- DoBind();
-}
-
-
-void BreakTarget::Bind(Result* arg) {
-#ifdef DEBUG
- // All the forward-reaching frames should have been adjusted at the
- // jumps to this target.
- for (int i = 0; i < reaching_frames_.length(); i++) {
- ASSERT(reaching_frames_[i] == NULL ||
- reaching_frames_[i]->height() == expected_height_ + 1);
- }
-#endif
- // Drop leftover statement state from the frame before merging, even
- // on the fall through. This is so we can bind the return target
- // with state on the frame.
- if (cgen()->has_valid_frame()) {
- int count = cgen()->frame()->height() - expected_height_;
- cgen()->frame()->ForgetElements(count);
- cgen()->frame()->Push(arg);
- }
- DoBind();
- *arg = cgen()->frame()->Pop();
-}
-
-
// -------------------------------------------------------------------------
// ShadowTarget implementation.

Powered by Google App Engine
This is Rietveld 408576698