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

Unified Diff: src/fast-codegen.h

Issue 397010: A start on allowing non-local control flow, for exceptions, try-finally, and ... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 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
« no previous file with comments | « src/compiler.cc ('k') | src/jump-target.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/fast-codegen.h
===================================================================
--- src/fast-codegen.h (revision 3310)
+++ src/fast-codegen.h (working copy)
@@ -43,6 +43,8 @@
function_(NULL),
script_(script),
is_eval_(is_eval),
+ function_return_(),
+ return_label_(NULL),
loop_depth_(0),
true_label_(NULL),
false_label_(NULL) {
@@ -117,7 +119,14 @@
FunctionLiteral* function_;
Handle<Script> script_;
bool is_eval_;
- Label return_label_;
+ Label function_return_;// Label of the actual return sequence.
+ Label* return_label_; // Label to jump to from a return statement.
+ // If there are finally blocks from try..finally that must be executed,
+ // this is the entry point of a finally block, shadowing the real return.
+ int return_stack_height_; // The height of the stack at return_label_.
+ int scope_stack_height_; // The number of elements above the frame pointer
+ // that are on the stack due to enclosing scopes. Does not include the
+ // expression stack, but does include elements pushed by with and for..in.
int loop_depth_;
Label* true_label_;
« no previous file with comments | « src/compiler.cc ('k') | src/jump-target.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698