• danno's avatar
    [compiler] Extend the functionality of CodeStubAssembler · 1f28904b
    danno authored
    After this change, the functionality of the CodeStubAssembler should be
    sufficient to generate non-trivial stubs (e.g. the KeyedLoadIC) with control
    flow, variables and probing of internal meta data structures.
    
    Specifically this patch:
    
    * introduces a Label class, which allows stubs to construct graphs that don't
      have linear control graphs.
    * introduces a Variable class. Variables can be bound to Node* values at
      different points in a non-linear control flow graph. In conjunction with the
      Label machinery, the CodeStubAssembler ensures that Phi nodes are inserted at
      the "minimal" set of merge points.
    * adds Tail calling support to other Stubs and to any arbitrary code whose
      interface can be described by a CallInterfaceDescriptor.
    * provides new macros for accessing FixedArray elements that are optimized for
      use with Smi values.
    
    Review URL: https://codereview.chromium.org/1649723002
    
    Cr-Commit-Position: refs/heads/master@{#33664}
    1f28904b
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
docs Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...