• bmeurer's avatar
    [turbofan] Let ChangeFloat64ToTagged canonicalize to Smi if possible. · 385734bf
    bmeurer authored
    When the incoming value to ChangeFloat64ToTagged is in Smi range, we
    represent it as Smi instead of a HeapNumber. This addresses a range of
    problems where TurboFan unnecessarily deoptimizes because an operation
    learned Smi feedback in Ignition, but was then confronted with a tagged
    HeapNumber in TurboFan, just because the value was also represented as
    unboxed double somewhere in the meantime.
    
    BUG=v8:6256
    R=yangguo@chromium.org
    
    Review-Url: https://codereview.chromium.org/2815283002
    Cr-Commit-Position: refs/heads/master@{#44631}
    385734bf
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...
regalloc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
branch-elimination-unittest.cc Loading commit data...
bytecode-analysis-unittest.cc Loading commit data...
checkpoint-elimination-unittest.cc Loading commit data...
common-operator-reducer-unittest.cc Loading commit data...
common-operator-unittest.cc Loading commit data...
compiler-test-utils.h Loading commit data...
control-equivalence-unittest.cc Loading commit data...
control-flow-optimizer-unittest.cc Loading commit data...
dead-code-elimination-unittest.cc Loading commit data...
diamond-unittest.cc Loading commit data...
effect-control-linearizer-unittest.cc Loading commit data...
escape-analysis-unittest.cc Loading commit data...
graph-reducer-unittest.cc Loading commit data...
graph-reducer-unittest.h Loading commit data...
graph-trimmer-unittest.cc Loading commit data...
graph-unittest.cc Loading commit data...
graph-unittest.h Loading commit data...
instruction-selector-unittest.cc Loading commit data...
instruction-selector-unittest.h Loading commit data...
instruction-sequence-unittest.cc Loading commit data...
instruction-sequence-unittest.h Loading commit data...
instruction-unittest.cc Loading commit data...
int64-lowering-unittest.cc Loading commit data...
js-builtin-reducer-unittest.cc Loading commit data...
js-create-lowering-unittest.cc Loading commit data...
js-intrinsic-lowering-unittest.cc Loading commit data...
js-operator-unittest.cc Loading commit data...
js-typed-lowering-unittest.cc Loading commit data...
linkage-tail-call-unittest.cc Loading commit data...
live-range-builder.h Loading commit data...
liveness-analyzer-unittest.cc Loading commit data...
load-elimination-unittest.cc Loading commit data...
loop-peeling-unittest.cc Loading commit data...
machine-operator-reducer-unittest.cc Loading commit data...
machine-operator-unittest.cc Loading commit data...
node-cache-unittest.cc Loading commit data...
node-matchers-unittest.cc Loading commit data...
node-properties-unittest.cc Loading commit data...
node-test-utils.cc Loading commit data...
node-test-utils.h Loading commit data...
node-unittest.cc Loading commit data...
opcodes-unittest.cc Loading commit data...
schedule-unittest.cc Loading commit data...
scheduler-rpo-unittest.cc Loading commit data...
scheduler-unittest.cc Loading commit data...
simplified-operator-reducer-unittest.cc Loading commit data...
simplified-operator-unittest.cc Loading commit data...
state-values-utils-unittest.cc Loading commit data...
tail-call-optimization-unittest.cc Loading commit data...
typed-optimization-unittest.cc Loading commit data...
typer-unittest.cc Loading commit data...
value-numbering-reducer-unittest.cc Loading commit data...
zone-stats-unittest.cc Loading commit data...