Revert "[parser] Fix variable caching for conflict lookup"
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}
Showing
Please
register
or
sign in
to comment