• 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
ast-graph-builder.cc 159 KB