• Michael Starzinger's avatar
    [turbofan] Elide redundant {IfSuccess} control projections. · 6fca2cfa
    Michael Starzinger authored
    This changes the IR to no longer require single {IfSuccess} projection
    nodes unless there is a corresponding {IfException} node that links the
    potentially throwing call to an exception handler. This reduces graph
    size as well as compilation time when exception handlers aren't present.
    
    The new invariant for potentially throwing nodes is: Nodes that can
    potentially throw either have both IfSuccess/IfException projections as
    the only control uses and no direct control uses, or no projections at
    all and solely direct control uses.
    
    R=jarin@chromium.org
    
    Change-Id: I3d9cd816d74ad5af13e0673da7ec7a98f1ecdc7e
    Reviewed-on: https://chromium-review.googlesource.com/449715
    Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#43814}
    6fca2cfa
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
fuzzer Loading commit data...
inspector Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...