• Andreas Haas's avatar
    [turbofan] Don't assume that Word32AtomicPairLoad has a projection-0 · e56a7edb
    Andreas Haas authored
    The instruction selector assumed for Word32AtomicPairLoad node that if
    there exists a Projection(1) user, then there also exists a
    Projection(0) user. This, however, is not the case, because TurboFan
    eliminates unreachable nodes. The missing projection node lead to a
    failed DCHECK in the register allocator.
    
    To fix the problem I use now the Word32AtomicPairLoad node directly to
    allocate the register. On ia32 I stop additionally to allocate unneeded
    temp registers.
    
    R=gdeepti@chromium.org
    CC=zhin@chromium.org
    
    Bug: chromium:1042379
    Change-Id: I79bd9f3f4672e147246a71c32b7c9b4dbd79b17f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2002547
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#65912}
    e56a7edb
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...
OWNERS Loading commit data...
code-generator-impl.h Loading commit data...
code-generator.cc Loading commit data...
code-generator.h Loading commit data...
frame-elider.cc Loading commit data...
frame-elider.h Loading commit data...
gap-resolver.cc Loading commit data...
gap-resolver.h Loading commit data...
instruction-codes.h Loading commit data...
instruction-scheduler.cc Loading commit data...
instruction-scheduler.h Loading commit data...
instruction-selector-impl.h Loading commit data...
instruction-selector.cc Loading commit data...
instruction-selector.h Loading commit data...
instruction.cc Loading commit data...
instruction.h Loading commit data...
jump-threading.cc Loading commit data...
jump-threading.h Loading commit data...
live-range-separator.cc Loading commit data...
live-range-separator.h Loading commit data...
move-optimizer.cc Loading commit data...
move-optimizer.h Loading commit data...
register-allocator-verifier.cc Loading commit data...
register-allocator-verifier.h Loading commit data...
register-allocator.cc Loading commit data...
register-allocator.h Loading commit data...
unwinding-info-writer.h Loading commit data...