-
Leszek Swirski authored
If there was an assignment to a maybe-shadowing dynamic variable, then the shadowing variable would be marked maybe_assigned, but the maybe-shadowed variable would stay unchanged. This meant that in non-shadowing cases, the not-actually-shadowed variable would have the wrong maybe_assigned state, and e.g. would break context specialization. This patch pessimistically unconditionally sets maybe_assigned on variables shadowed by a dynamic variable in a `with` scope. This marking can cause false positives and sub-optimal optimization for some functions with 'with' blocks, but it's also the simplest fix for this issue which doesn't affect performance in the common case of no 'with' blocks. Bug: v8:9394 Change-Id: I6924bd7d48dda61232aa9d72c39df1c76c665c67 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1678365 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#62407}
e79751b3
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
benchmarks | ||
cctest | ||
common | ||
debugger | ||
fuzzer | ||
inspector | ||
intl | ||
js-perf-test | ||
memory | ||
message | ||
mjsunit | ||
mkgrokdump | ||
mozilla | ||
preparser | ||
test262 | ||
torque | ||
unittests | ||
wasm-api-tests | ||
wasm-js | ||
wasm-spec-tests | ||
webkit | ||
BUILD.gn | ||
OWNERS |