• bmeurer's avatar
    [turbofan] Try hard(er) to use smi representation for float64 values. · 7709e41a
    bmeurer authored
    Previously ChangeLowering would always box float64 values when going to
    tagged representation, but that introduces a lot of deoptimizer loops
    and polymorphism into TurboFan, which is unfortunate and unnecessary.
    
    This adds some logic to ChangeFloat64ToTagged to try harder to create a
    Smi when going from Float64 to Tagged, instead of always allocating a
    HeapNumber.  This might need some additional tweaking, but at least it
    makes it possible to start comparing TurboFan and Crankshaft for some
    regular JavaScript.
    
    R=jarin@chromium.org
    
    Review URL: https://codereview.chromium.org/1420913003
    
    Cr-Commit-Position: refs/heads/master@{#31609}
    7709e41a
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...
x64 Loading commit data...
branch-elimination-unittest.cc Loading commit data...
bytecode-graph-builder-unittest.cc Loading commit data...
change-lowering-unittest.cc Loading commit data...
coalesced-live-ranges-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...
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...
interpreter-assembler-unittest.cc Loading commit data...
interpreter-assembler-unittest.h Loading commit data...
js-builtin-reducer-unittest.cc Loading commit data...
js-context-relaxation-unittest.cc Loading commit data...
js-intrinsic-lowering-unittest.cc Loading commit data...
js-operator-unittest.cc Loading commit data...
js-type-feedback-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...
live-range-unittest.cc 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...
move-optimizer-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...
register-allocator-unittest.cc Loading commit data...
schedule-unittest.cc Loading commit data...
scheduler-unittest.cc Loading commit data...
select-lowering-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...
typer-unittest.cc Loading commit data...
value-numbering-reducer-unittest.cc Loading commit data...
zone-pool-unittest.cc Loading commit data...