-
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: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon 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 | ||
cctest | ||
common | ||
debugger | ||
fuzzer | ||
inspector | ||
intl | ||
js-perf-test | ||
memory | ||
message | ||
mjsunit | ||
mkgrokdump | ||
mozilla | ||
test262 | ||
torque | ||
unittests | ||
wasm-api-tests | ||
wasm-js | ||
wasm-spec-tests | ||
webkit | ||
BUILD.gn | ||
OWNERS |