• balazs.kilvady's avatar
    MIPS: [turbofan] Unify Math.floor / Math.ceil optimization. · 9c8bead9
    balazs.kilvady authored
    Port 022ea7e0
    
    Original commit message:
    Provide an intrinsic %MathFloor / %_MathFloor that is used to optimize
    both Math.ceil and Math.floor, and use the JS inlining mechanism to
    inline Math.ceil into TurboFan code. Although we need to touch code
    outside of TurboFan to make this work, this does not affect the way we
    handle Math.ceil and/or Math.floor in CrankShaft, because for CrankShaft
    the old-style builtin function id based inlining still kicks in first.
    
    Once this solution is stabilized, we can use it for Math.floor as well.
    And once that is settled, we can establish it as the unified way to
    inline builtins, and get rid of the specialized builtin function id
    based inlining at some point.
    
    Note that "builtin" applies to basically every piece of internal
    JavaScript/intrinsics based code, so this also applies to the yet to be
    defined JavaScript based code stubs and handlers.
    
    BUG=v8:3953
    LOG=n
    
    Review URL: https://codereview.chromium.org/998503002
    
    Cr-Commit-Position: refs/heads/master@{#27117}
    9c8bead9
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...
DEPS Loading commit data...
STYLE Loading commit data...
access-builder.cc Loading commit data...
access-builder.h Loading commit data...
all-nodes.cc Loading commit data...
all-nodes.h Loading commit data...
ast-graph-builder.cc Loading commit data...
ast-graph-builder.h Loading commit data...
ast-loop-assignment-analyzer.cc Loading commit data...
ast-loop-assignment-analyzer.h Loading commit data...
basic-block-instrumentor.cc Loading commit data...
basic-block-instrumentor.h Loading commit data...
change-lowering.cc Loading commit data...
change-lowering.h Loading commit data...
code-generator-impl.h Loading commit data...
code-generator.cc Loading commit data...
code-generator.h Loading commit data...
common-node-cache.cc Loading commit data...
common-node-cache.h Loading commit data...
common-operator-reducer.cc Loading commit data...
common-operator-reducer.h Loading commit data...
common-operator.cc Loading commit data...
common-operator.h Loading commit data...
control-builders.cc Loading commit data...
control-builders.h Loading commit data...
control-equivalence.h Loading commit data...
control-flow-optimizer.cc Loading commit data...
control-flow-optimizer.h Loading commit data...
control-reducer.cc Loading commit data...
control-reducer.h Loading commit data...
diamond.h Loading commit data...
frame.h Loading commit data...
gap-resolver.cc Loading commit data...
gap-resolver.h Loading commit data...
graph-builder.h Loading commit data...
graph-reducer.cc Loading commit data...
graph-reducer.h Loading commit data...
graph-replay.cc Loading commit data...
graph-replay.h Loading commit data...
graph-visualizer.cc Loading commit data...
graph-visualizer.h Loading commit data...
graph.cc Loading commit data...
graph.h Loading commit data...
instruction-codes.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...
ir-operations.txt Loading commit data...
js-builtin-reducer.cc Loading commit data...
js-builtin-reducer.h Loading commit data...
js-context-specialization.cc Loading commit data...
js-context-specialization.h Loading commit data...
js-generic-lowering.cc Loading commit data...
js-generic-lowering.h Loading commit data...
js-graph.cc Loading commit data...
js-graph.h Loading commit data...
js-inlining.cc Loading commit data...
js-inlining.h Loading commit data...
js-intrinsic-lowering.cc Loading commit data...
js-intrinsic-lowering.h Loading commit data...
js-operator.cc Loading commit data...
js-operator.h Loading commit data...
js-typed-lowering.cc Loading commit data...
js-typed-lowering.h Loading commit data...
jump-threading.cc Loading commit data...
jump-threading.h Loading commit data...
linkage-impl.h Loading commit data...
linkage.cc Loading commit data...
linkage.h Loading commit data...
load-elimination.cc Loading commit data...
load-elimination.h Loading commit data...
loop-analysis.cc Loading commit data...
loop-analysis.h Loading commit data...
loop-peeling.cc Loading commit data...
loop-peeling.h Loading commit data...
machine-operator-reducer.cc Loading commit data...
machine-operator-reducer.h Loading commit data...
machine-operator.cc Loading commit data...
machine-operator.h Loading commit data...
machine-type.cc Loading commit data...
machine-type.h Loading commit data...
move-optimizer.cc Loading commit data...
move-optimizer.h Loading commit data...
node-aux-data.h Loading commit data...
node-cache.cc Loading commit data...
node-cache.h Loading commit data...
node-marker.cc Loading commit data...
node-marker.h Loading commit data...
node-matchers.cc Loading commit data...
node-matchers.h Loading commit data...
node-properties.cc Loading commit data...
node-properties.h Loading commit data...
node.cc Loading commit data...
node.h Loading commit data...
opcodes.cc Loading commit data...
opcodes.h Loading commit data...
operator-properties.cc Loading commit data...
operator-properties.h Loading commit data...
operator.cc Loading commit data...
operator.h Loading commit data...
osr.cc Loading commit data...
osr.h Loading commit data...
pipeline-statistics.cc Loading commit data...
pipeline-statistics.h Loading commit data...
pipeline.cc Loading commit data...
pipeline.h Loading commit data...
raw-machine-assembler.cc Loading commit data...
raw-machine-assembler.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...
register-configuration.cc Loading commit data...
register-configuration.h Loading commit data...
representation-change.h Loading commit data...
schedule.cc Loading commit data...
schedule.h Loading commit data...
scheduler.cc Loading commit data...
scheduler.h Loading commit data...
select-lowering.cc Loading commit data...
select-lowering.h Loading commit data...
simplified-lowering.cc Loading commit data...
simplified-lowering.h Loading commit data...
simplified-operator-reducer.cc Loading commit data...
simplified-operator-reducer.h Loading commit data...
simplified-operator.cc Loading commit data...
simplified-operator.h Loading commit data...
source-position.cc Loading commit data...
source-position.h Loading commit data...
typer.cc Loading commit data...
typer.h Loading commit data...
value-numbering-reducer.cc Loading commit data...
value-numbering-reducer.h Loading commit data...
verifier.cc Loading commit data...
verifier.h Loading commit data...
zone-pool.cc Loading commit data...
zone-pool.h Loading commit data...