• 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
..
benchmarks Loading commit data...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
fuzzer Loading commit data...
inspector Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mkgrokdump Loading commit data...
mozilla Loading commit data...
test262 Loading commit data...
torque Loading commit data...
unittests Loading commit data...
wasm-api-tests Loading commit data...
wasm-js Loading commit data...
wasm-spec-tests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
OWNERS Loading commit data...