| 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_;
|
|
|