• rossberg's avatar
    [es6] Scoping & initialization for var shadowing non-simple parameters · 2c2848dc
    rossberg authored
    Var-bindings may shadow parameters from a non-simple parameter list. When that happens: they create separate bindings, but are initialised with the respective parameter value. Thus:
    
    (function(x, f = () => x) { var x; var y = x; x = 2; return [x, y, f()] })(1) -->  [2, 1, 1]
    
    This CL implements that by inserting a suitable assignment for every shadwowing var-variable (e.g., x = outer_x above) at the beginning of the function's body block.
    
    R=adamk@chromium.org
    BUG=v8:4440,v8:811
    LOG=N
    
    Review URL: https://codereview.chromium.org/1371333004
    
    Cr-Commit-Position: refs/heads/master@{#31042}
    2c2848dc
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest 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...