• mtrofin's avatar
    [turbofan] Single entry into deferred · 5ae587cf
    mtrofin authored
    If a deferred block has multiple predecessors, they have to be
    all deferred. Otherwise, we can run into a situation where if a range
    that spills only in deferred blocks inserts its spill in the block, and
    other ranges need moves inserted by ResolveControlFlow in the predecessors,
    the register of the range spilled in the deferred block may be clobbered.
    
    To avoid that, when a deferred block has multiple predecessors, and some
    are not deferred, we add a non-deferred block to collect all such edges.
    
    This CL addresses the validator assertion failure the referenced issue, as well
    as the greedy allocator failure - which was caused by the situation described
    above.
    
    BUG=v8:4940
    LOG=n
    
    Review URL: https://codereview.chromium.org/1912093005
    
    Cr-Commit-Position: refs/heads/master@{#35742}
    5ae587cf
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
docs 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...
.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...