• danno's avatar
    [turbofan] Add FixedArray peephole optimizations to CodeStubAssembler · cbdb3738
    danno authored
    Previously, CodeStubAssembler macros performing FixedArray element accesses had
    to compute offsets to elements explicitly with a fair amount of duplicated
    code. Furthermore, any peephole optimizations that could produce better code--
    like recognizing constant indices or combining array index computation with Smi
    untagging--were also duplicated.
    
    This change factors the code to compute FixedArray index offsets into a common
    routine in the CodeStubAssembler that applies standard peephole optimizations to
    all accesses. In order to do this, it also introduces limited introspection into
    the up-until-now opaque Node* type exported from code-assembler.h, allowing
    Nodes to be queried whether they are constant and extracting their constant
    value in that case.
    
    Review-Url: https://codereview.chromium.org/1989363004
    Cr-Commit-Position: refs/heads/master@{#36370}
    cbdb3738
Name
Last commit
Last update
..
OWNERS Loading commit data...
bytecode-array-builder.cc Loading commit data...
bytecode-array-builder.h Loading commit data...
bytecode-array-iterator.cc Loading commit data...
bytecode-array-iterator.h Loading commit data...
bytecode-array-writer.cc Loading commit data...
bytecode-array-writer.h Loading commit data...
bytecode-generator.cc Loading commit data...
bytecode-generator.h Loading commit data...
bytecode-peephole-optimizer.cc Loading commit data...
bytecode-peephole-optimizer.h Loading commit data...
bytecode-pipeline.cc Loading commit data...
bytecode-pipeline.h Loading commit data...
bytecode-register-allocator.cc Loading commit data...
bytecode-register-allocator.h Loading commit data...
bytecode-traits.h Loading commit data...
bytecodes.cc Loading commit data...
bytecodes.h Loading commit data...
constant-array-builder.cc Loading commit data...
constant-array-builder.h Loading commit data...
control-flow-builders.cc Loading commit data...
control-flow-builders.h Loading commit data...
handler-table-builder.cc Loading commit data...
handler-table-builder.h Loading commit data...
interpreter-assembler.cc Loading commit data...
interpreter-assembler.h Loading commit data...
interpreter-intrinsics.cc Loading commit data...
interpreter-intrinsics.h Loading commit data...
interpreter.cc Loading commit data...
interpreter.h Loading commit data...
source-position-table.cc Loading commit data...
source-position-table.h Loading commit data...