• machenbach's avatar
    Revert of [crankshaft] Only exclude explicit 'arguments' (and 'this') from... · 8b0a6dd6
    machenbach authored
    Revert of [crankshaft] Only exclude explicit 'arguments' (and 'this') from liveness analysis. (patchset #2 id:20001 of https://codereview.chromium.org/2026173003/ )
    
    Reason for revert:
    Triggers crashes on the deopt fuzzer:
    https://build.chromium.org/p/client.v8/builders/V8%20Deopt%20Fuzzer/builds/10608
    
    Repro:
    out/Release/d8 --test --random-seed=849179141 --deopt-every-n-times 149 --nohard-abort --nodead-code-elimination --nofold-constants --noconcurrent-recompilation test/webkit/resources/standalone-pre.js test/webkit/dfg-arguments-mixed-alias.js test/webkit/resources/standalone-post.js
    
    Original issue's description:
    > [crankshaft] Only exclude explicit 'arguments' (and 'this') from liveness analysis.
    >
    > Currently, we do not emit EnvironmentMarkers if the hydrogen value
    > in the environment is arguments object. As the hydrogen value can change
    > for local variables, we emit only some environment markers. That can
    > cause environment liveness analysis to mark part of live range as live
    > and part as dead. The zapping phase then only inserts zaps in
    > live->dead transitions, potentially zapping a live value.
    >
    > With this CL, we only emit EnvironmentMarkers for 'this' and
    > 'arguments' local variables, disregarding the hydrogen value.
    >
    > BUG=chromium:612146
    > LOG=n
    >
    > Committed: https://crrev.com/1428fbe224dc2df0cb6f59e4959430f7aa614064
    > Cr-Commit-Position: refs/heads/master@{#36641}
    
    TBR=jkummerow@chromium.org,jarin@chromium.org
    # Skipping CQ checks because original CL landed less than 1 days ago.
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    BUG=chromium:612146
    
    Review-Url: https://codereview.chromium.org/2029563002
    Cr-Commit-Position: refs/heads/master@{#36644}
    8b0a6dd6
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn 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...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl 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...