| Index: src/parsing/parser-base.h
|
| diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h
|
| index e1e3d3412281a274f2a3d03079735cc7c113a2de..9375bb0df5bb2f04a65e3dd336829e9c573029be 100644
|
| --- a/src/parsing/parser-base.h
|
| +++ b/src/parsing/parser-base.h
|
| @@ -1346,24 +1346,6 @@
|
| bool IsValidPattern(ExpressionT expression) {
|
| return expression->IsObjectLiteral() || expression->IsArrayLiteral();
|
| }
|
| -
|
| - // Due to hoisting, the value of a 'var'-declared variable may actually change
|
| - // even if the code contains only the "initial" assignment, namely when that
|
| - // assignment occurs inside a loop. For example:
|
| - //
|
| - // let i = 10;
|
| - // do { var x = i } while (i--):
|
| - //
|
| - // As a simple and very conservative approximation of this, we explicitly mark
|
| - // as maybe-assigned any non-lexical variable whose initializing "declaration"
|
| - // does not syntactically occur in the function scope. (In the example above,
|
| - // it occurs in a block scope.)
|
| - //
|
| - // Note that non-lexical variables include temporaries, which may also get
|
| - // assigned inside a loop due to the various rewritings that the parser
|
| - // performs.
|
| - //
|
| - static void MarkLoopVariableAsAssigned(Scope* scope, Variable* var);
|
|
|
| // Keep track of eval() calls since they disable all local variable
|
| // optimizations. This checks if expression is an eval call, and if yes,
|
| @@ -5716,12 +5698,8 @@
|
| return loop;
|
| }
|
|
|
| -template <typename Impl>
|
| -void ParserBase<Impl>::MarkLoopVariableAsAssigned(Scope* scope, Variable* var) {
|
| - if (!IsLexicalVariableMode(var->mode()) && !scope->is_function_scope()) {
|
| - var->set_maybe_assigned();
|
| - }
|
| -}
|
| +#undef CHECK_OK
|
| +#undef CHECK_OK_CUSTOM
|
|
|
| template <typename Impl>
|
| void ParserBase<Impl>::ObjectLiteralChecker::CheckDuplicateProto(
|
| @@ -5773,8 +5751,6 @@
|
| }
|
| }
|
|
|
| -#undef CHECK_OK
|
| -#undef CHECK_OK_CUSTOM
|
| #undef CHECK_OK_VOID
|
|
|
| } // namespace internal
|
|
|