• jarin's avatar
    [turbofan] Osr value typing + dynamic type checks on entry. · 1f5dc90a
    jarin authored
    This introduces a new OsrGuard node that is inserted during graph building
    to guard the inferred type of the OSR value.
    
    The type of the OSR value is inferred by running the typer before OSR
    deconstruction, and then taking the type from the phi that takes the
    OSR value. After the deconstruction, we throw the types away.
    
    At the moment we only support the SignedSmall OSR type and we always
    pick the tagged representation. Later, we might want to support more
    types (such as Number) and pick better representations (int32/float64).
    
    This CL also removes the OSR deconstruction tests because they build
    unrealistic graph (no effect chain, no loop termination). I considered
    adding the effect chains to the tests, but this would make the tests
    even more brittle.
    
    Review-Url: https://codereview.chromium.org/2384113002
    Cr-Commit-Position: refs/heads/master@{#39971}
    1f5dc90a
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles 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...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm 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...
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...