• 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...
cctest Loading commit data...
fuzzer 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...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
ignition.gyp Loading commit data...
ignition.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...