• Adam Klein's avatar
    Accurately record eval calls in arrow parameter lists · fc023664
    Adam Klein authored
    Previously, we over-approximated Scope::scope_calls_eval_ in
    arrow functions: if either the outer scope or the arrow function
    parameters had a direct eval call, we marked both scopes as calling
    eval. This over-approximation kept getting us into trouble, though,
    especially when eager or lazy parsing would disagree about the
    "calls eval" bit.
    
    This patch instead tracks eval calls accurately, using a boolean on
    Scope::Snapshot that is reset as appropriately depending on whether
    a particular AssignmentExpression turned out to be an arrow parameter
    list or not.
    
    BUG=chromium:691687
    
    Change-Id: I527dc59b4d32a2797805ff26dc9f70b1311377b2
    Reviewed-on: https://chromium-review.googlesource.com/446094
    Commit-Queue: Adam Klein <adamk@chromium.org>
    Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#43499}
    fc023664
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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...
.gitignore Loading commit data...
.gn 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...
ChangeLog Loading commit data...
DEPS 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...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...