• marja@chromium.org's avatar
    Refactor scope and function state tracking in (Pre)Parser. · 10ae9eb2
    marja@chromium.org authored
    Notes:
    - PreParser::Scope was a weird combination of Parser::FunctionState and
      Scope. Split it into two (PreParser::FunctionState and PreParser::Scope). This
      is necessary for unifying the Parser and the PreParser.
    - Scopes take care of language mode and tracking "with".
    - FunctionStates take care of counting material literal indexes, properties
      etc. and tracking generators.
    - PreParser::Scope::InsideWith was a hack to make a FunctionState-like object
      take care of tracking "with". It's now the responsibility fo PreParser::Scope
      and Scope.
    - PreParser::ScopeType is unnecessarly, there is already a ScopeType enum in
    v8globals.h.
    - Renamed scope stack variables so that they're consistent in Parser and PreParser.
    - Parser::FunctionState and Parser::BlockState had an unnecessary dependency to
      the Parser; they only need a couple of things from Parser. Broke the
      dependency.
    
    R=ulan@chromium.org
    BUG=v8:3126
    LOG=N
    
    Review URL: https://codereview.chromium.org/148293011
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    10ae9eb2
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...