10b9c019ce
In https://chromium-review.googlesource.com/c/472247/, I avoided running DesugarLexicalBindingsInForStatement() if there were no lexical loop variables, the function was not resumable, and the variables are not captured by eval or a function declaration. I think it's now possible to limit this further, and only do the more extensive desugaring if there's a function declaration / eval() call in the loop body. `yield` and `await` are not an issue as those loop variables are written to the register file and not lost. This change just removes the `is_resumable()` condition. If it passes tests, I think it's safe. BUG=v8:4762, v8:5460, v8:6579 Change-Id: I92d0308ad9401c1338411bc9ae9021f978803d3a Reviewed-on: https://chromium-review.googlesource.com/563587 Commit-Queue: Caitlin Potter <caitp@igalia.com> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#46536} |
||
---|---|---|
.. | ||
bytecode_expectations | ||
bytecode-expectations-printer.cc | ||
bytecode-expectations-printer.h | ||
generate-bytecode-expectations.cc | ||
interpreter-tester.cc | ||
interpreter-tester.h | ||
source-position-matcher.cc | ||
source-position-matcher.h | ||
test-bytecode-generator.cc | ||
test-interpreter-intrinsics.cc | ||
test-interpreter.cc | ||
test-source-positions.cc |