• Manos Koukoutos's avatar
    [wasm] Do not call CheckForException on every node · 47892136
    Manos Koukoutos authored
    Calling CheckForException through the BUILD macro for almost every
    invocation of WasmGraphBuilder from graph-builder-interface created
    multiple issues:
    - It generated an invalid graph with GetExceptionValues, resulting in
      us having to hack CallBuiltin().
    - It will generate multiple problems with wasm-gc operations.
    - It needlessly slowed down compilation.
    
    Changes:
    - Remove BUILD macro, call CheckForException directly only for function
      calls and throws.
    - Split CheckForException into a fast inline path and a slow non-inline
      one.
    - Move BUILD's DCHECK into CHECK_INTERFACE.
    - Add an early exit to Decode().
    - Since we do not need the hack anymore, implement CallBuiltin properly.
    
    Change-Id: I38e3c73e0af80894584ce37e2f3bfc90111ac54f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717304
    Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
    Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
    Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73036}
    47892136
graph-builder-interface.cc 57.9 KB