• 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...
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...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...