• Leszek Swirski's avatar
    Revert "[parser] Fix variable caching for conflict lookup" · b8fef1a7
    Leszek Swirski authored
    This reverts commit 026a0c21.
    
    Reason for revert: Reverting due to https://crbug.com/1029461
    
    Original change's description:
    > [parser] Fix variable caching for conflict lookup
    > 
    > During conflict lookup (for lexical variables and sloppy block function
    > hoisting), we cache the looked-up variable on the current scope if the
    > lookup goes through a ScopeInfo. However, for variable lookup during
    > scope analysis, we use the "entry point" as the cache.
    > 
    > Since both lookups can create Variables, this can cause us to create
    > duplicate variables, e.g. a duplicate function name variable in the
    > attached test.
    > 
    > Instead, for ScopeInfo conflict lookups we can cache the result on the
    > function's outer scope, which shoud be equivalent to the entry point.
    > 
    > As a (necessary) drive-by, we can terminate the lookup early if we find
    > a VAR with the same name, as we can safely assume that its existence
    > means that it doesn't conflict, which means that our variable can't
    > conflict either.
    > 
    > Bug: chromium:1026603
    > Change-Id: I19f80f65597ba6573ebe0b48aa5698f55e5c3ea1
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1928861
    > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#65138}
    
    TBR=leszeks@chromium.org,verwaest@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: chromium:1026603
    Bug: chromium:1029461
    Change-Id: Id7f5dd342e32e1bb57c51b3748feff32ee0ba41d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1958014Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#65390}
    b8fef1a7
Name
Last commit
Last update
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.flake8 Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...