• Manos Koukoutos's avatar
    [wasm] Generate exception handlers in inlined functions · ac864ba2
    Manos Koukoutos authored
    In the WebAssembly Turbofan pipeline, inlining should come before
    unrolling. When we inline a function, we link unhandled throwing calls
    in it to the handler of the caller node. If a throwing call is in a
    loop, we need to generate loop exits between the call and the handler if
    we want to unroll later.
    This CL adds dangling IfException/LoopExit nodes following each throwing
    call in an inlined function. These nodes are connected as required in
    inlining.
    Drive-by: Remove CheckForException from tail calls, which are kNoThrow.
    
    Bug: v8:12166
    Change-Id: Icb8371a0a27234f07d4880e5b3005fc90a91a4b6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3322975Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#78391}
    ac864ba2
graph-builder-interface.h 1.5 KB