| Index: src/scopes.h
 | 
| diff --git a/src/scopes.h b/src/scopes.h
 | 
| index 123c4d867f251d1c77e264eb79b34b9817b2afcd..10994df9c855cf503fd7e8bcb86580d41916ac47 100644
 | 
| --- a/src/scopes.h
 | 
| +++ b/src/scopes.h
 | 
| @@ -104,6 +104,9 @@ class Scope: public ZoneObject {
 | 
|    // doesn't re-allocate variables repeatedly.
 | 
|    static bool Analyze(CompilationInfo* info);
 | 
|  
 | 
| +  static Scope* DeserializeScopeChain(CompilationInfo* info,
 | 
| +                                      Scope* innermost_scope);
 | 
| +
 | 
|    // The scope name is only used for printing/debugging.
 | 
|    void SetScopeName(Handle<String> scope_name) { scope_name_ = scope_name; }
 | 
|  
 | 
| @@ -318,14 +321,6 @@ class Scope: public ZoneObject {
 | 
|  
 | 
|    explicit Scope(Type type);
 | 
|  
 | 
| -  void InsertAfterScope(Scope* scope) {
 | 
| -    inner_scopes_.Add(scope);
 | 
| -    outer_scope_ = scope->outer_scope_;
 | 
| -    outer_scope_->inner_scopes_.RemoveElement(scope);
 | 
| -    outer_scope_->inner_scopes_.Add(this);
 | 
| -    scope->outer_scope_ = this;
 | 
| -  }
 | 
| -
 | 
|    // Scope tree.
 | 
|    Scope* outer_scope_;  // the immediately enclosing outer scope, or NULL
 | 
|    ZoneList<Scope*> inner_scopes_;  // the immediately enclosed inner scopes
 | 
| @@ -419,6 +414,13 @@ class Scope: public ZoneObject {
 | 
|   private:
 | 
|    Scope(Scope* inner_scope, SerializedScopeInfo* scope_info);
 | 
|  
 | 
| +  void AddInnerScope(Scope* inner_scope) {
 | 
| +    if (inner_scope != NULL) {
 | 
| +      inner_scopes_.Add(inner_scope);
 | 
| +      inner_scope->outer_scope_ = this;
 | 
| +    }
 | 
| +  }
 | 
| +
 | 
|    void SetDefaults(Type type,
 | 
|                     Scope* outer_scope,
 | 
|                     SerializedScopeInfo* scope_info) {
 | 
| 
 |