• adamk's avatar
    Sloppy eval declarations should not shadow lexical function declarations · 83b63c30
    adamk authored
    This was being allowed due to the use of BindingFlags instead of VariableMode
    to determine whether a looked-up binding was lexical. Because function
    declarations are hoisted, they never need hole checks, and so were being
    miscategorized as non-lexical.
    
    This patch augments Context::Lookup with a VariableMode out param, which
    allows this check to determine precisely whether the binding is lexical.
    
    BUG=v8:4454, v8:5256
    
    Review-Url: https://codereview.chromium.org/2206483004
    Cr-Commit-Position: refs/heads/master@{#38260}
    83b63c30
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
fuzzer Loading commit data...
inspector_protocol_parser_test 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...
simdjs 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...