| Index: src/ast/scopes.h
|
| diff --git a/src/ast/scopes.h b/src/ast/scopes.h
|
| index 1aef7e03e194c9e1de9015af020539f5d027cfbb..865198e58e58f5bdf36f4aa7ad51ded384342afd 100644
|
| --- a/src/ast/scopes.h
|
| +++ b/src/ast/scopes.h
|
| @@ -96,7 +96,7 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
|
| Scope* outer_scope_;
|
| Scope* top_inner_scope_;
|
| VariableProxy* top_unresolved_;
|
| - int top_local_;
|
| + ThreadedList<Variable>::Iterator top_local_;
|
| ThreadedList<Declaration>::Iterator top_decl_;
|
| };
|
|
|
| @@ -155,7 +155,7 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
|
| // Declarations list.
|
| ThreadedList<Declaration>* declarations() { return &decls_; }
|
|
|
| - ZoneList<Variable*>* locals() { return &locals_; }
|
| + ThreadedList<Variable>* locals() { return &locals_; }
|
|
|
| // Create a new unresolved variable.
|
| VariableProxy* NewUnresolved(AstNodeFactory* factory,
|
| @@ -429,14 +429,7 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
|
| Variable* Declare(Zone* zone, Scope* scope, const AstRawString* name,
|
| VariableMode mode, VariableKind kind,
|
| InitializationFlag initialization_flag,
|
| - MaybeAssignedFlag maybe_assigned_flag = kNotAssigned) {
|
| - bool added;
|
| - Variable* var =
|
| - variables_.Declare(zone, scope, name, mode, kind, initialization_flag,
|
| - maybe_assigned_flag, &added);
|
| - if (added) locals_.Add(var, zone);
|
| - return var;
|
| - }
|
| + MaybeAssignedFlag maybe_assigned_flag = kNotAssigned);
|
|
|
| // This method should only be invoked on scopes created during parsing (i.e.,
|
| // not deserialized from a context). Also, since NeedsContext() is only
|
| @@ -459,8 +452,7 @@ class V8_EXPORT_PRIVATE Scope : public NON_EXPORTED_BASE(ZoneObject) {
|
| VariableMap variables_;
|
| // In case of non-scopeinfo-backed scopes, this contains the variables of the
|
| // map above in order of addition.
|
| - // TODO(verwaest): Thread through Variable.
|
| - ZoneList<Variable*> locals_;
|
| + ThreadedList<Variable> locals_;
|
| // Unresolved variables referred to from this scope. The proxies themselves
|
| // form a linked list of all unresolved proxies.
|
| VariableProxy* unresolved_;
|
| @@ -737,12 +729,7 @@ class DeclarationScope : public Scope {
|
| // Adds a local variable in this scope's locals list. This is for adjusting
|
| // the scope of temporaries and do-expression vars when desugaring parameter
|
| // initializers.
|
| - void AddLocal(Variable* var) {
|
| - DCHECK(!already_resolved_);
|
| - // Temporaries are only placed in ClosureScopes.
|
| - DCHECK_EQ(GetClosureScope(), this);
|
| - locals_.Add(var, zone());
|
| - }
|
| + void AddLocal(Variable* var);
|
|
|
| void DeclareSloppyBlockFunction(const AstRawString* name,
|
| SloppyBlockFunctionStatement* statement) {
|
|
|