• littledan's avatar
    Ensure scopes are backed by blocks in the body of for loops · 2d408562
    littledan authored
    Clusterfuzz testing discovered that sloppy-mode block-scoped function
    declarations introduce lexically-scoped variables in scopes that were
    thrown away under the expectation that no lexically-scoped variables
    were introduced. These cases are:
    
      for (;;) function foo() {}
      for (x in y) function foo() {}
    
    This patch ensures that a block is created in those cases to hold the
    lexically scoped variable. Usually, scope analysis should discover that
    that block is not important, and it should not have a runtime
    representation.
    
    BUG=chromium:536750,chromium:536751
    LOG=Y
    R=adamk
    
    Review URL: https://codereview.chromium.org/1382123002
    
    Cr-Commit-Position: refs/heads/master@{#31109}
    2d408562
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...
default.gyp Loading commit data...
default.isolate Loading commit data...
developer_default.gyp Loading commit data...
developer_default.isolate Loading commit data...