• 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
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
x87 Loading commit data...
OWNERS Loading commit data...
compilation-phase.cc Loading commit data...
compilation-phase.h Loading commit data...
hydrogen-alias-analysis.h Loading commit data...
hydrogen-bce.cc Loading commit data...
hydrogen-bce.h Loading commit data...
hydrogen-canonicalize.cc Loading commit data...
hydrogen-canonicalize.h Loading commit data...
hydrogen-check-elimination.cc Loading commit data...
hydrogen-check-elimination.h Loading commit data...
hydrogen-dce.cc Loading commit data...
hydrogen-dce.h Loading commit data...
hydrogen-dehoist.cc Loading commit data...
hydrogen-dehoist.h Loading commit data...
hydrogen-environment-liveness.cc Loading commit data...
hydrogen-environment-liveness.h Loading commit data...
hydrogen-escape-analysis.cc Loading commit data...
hydrogen-escape-analysis.h Loading commit data...
hydrogen-flow-engine.h Loading commit data...
hydrogen-gvn.cc Loading commit data...
hydrogen-gvn.h Loading commit data...
hydrogen-infer-representation.cc Loading commit data...
hydrogen-infer-representation.h Loading commit data...
hydrogen-infer-types.cc Loading commit data...
hydrogen-infer-types.h Loading commit data...
hydrogen-instructions.cc Loading commit data...
hydrogen-instructions.h Loading commit data...
hydrogen-load-elimination.cc Loading commit data...
hydrogen-load-elimination.h Loading commit data...
hydrogen-mark-deoptimize.cc Loading commit data...
hydrogen-mark-deoptimize.h Loading commit data...
hydrogen-mark-unreachable.cc Loading commit data...
hydrogen-mark-unreachable.h Loading commit data...
hydrogen-osr.cc Loading commit data...
hydrogen-osr.h Loading commit data...
hydrogen-range-analysis.cc Loading commit data...
hydrogen-range-analysis.h Loading commit data...
hydrogen-redundant-phi.cc Loading commit data...
hydrogen-redundant-phi.h Loading commit data...
hydrogen-removable-simulates.cc Loading commit data...
hydrogen-removable-simulates.h Loading commit data...
hydrogen-representation-changes.cc Loading commit data...
hydrogen-representation-changes.h Loading commit data...
hydrogen-sce.cc Loading commit data...
hydrogen-sce.h Loading commit data...
hydrogen-store-elimination.cc Loading commit data...
hydrogen-store-elimination.h Loading commit data...
hydrogen-types.cc Loading commit data...
hydrogen-types.h Loading commit data...
hydrogen-uint32-analysis.cc Loading commit data...
hydrogen-uint32-analysis.h Loading commit data...
hydrogen.cc Loading commit data...
hydrogen.h Loading commit data...
lithium-allocator-inl.h Loading commit data...
lithium-allocator.cc Loading commit data...
lithium-allocator.h Loading commit data...
lithium-codegen.cc Loading commit data...
lithium-codegen.h Loading commit data...
lithium-inl.h Loading commit data...
lithium.cc Loading commit data...
lithium.h Loading commit data...
typing.cc Loading commit data...
typing.h Loading commit data...
unique.h Loading commit data...