• Benedikt Meurer's avatar
    [turbofan] Fix missing `break` in EscapeAnalysis. · 444f83d9
    Benedikt Meurer authored
    In the case of LoadElement in EscapeAnalysis we accidentally always set
    the object as escaping, even in the case where the index was a constant
    (or had a constant type).
    
    This forced us to always allocate array backing stores even in the
    trivial cases like swapping, i.e.
    
    ```js
    function foo(a, b) {
      [a, b] = [b, a];
      return a - b;
    }
    ```
    
    Now with this change we do proper scalar replacement again, even for the
    array backing stores.
    
    Bug: v8:9183
    Change-Id: I3b2dcade23e47df032087778aca1292c8b0d69d4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612907Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#61521}
    444f83d9
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
INFRA_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...