• Manos Koukoutos's avatar
    [wasm-gc] Allow reference types to function signatures · a61aaed9
    Manos Koukoutos authored
    Changes:
    - Remove restriction that function types cannot be used as ref types.
    - Introduce WasmModule::has_type().
    - Remove deferred signature checks in module-decoder. Instead, check if
      type indices are out of bounds in consume_value_type (was bugged
      before).
    - Remove obsolete GetCanonicalRttIndex.
    - Refine type of ref.func.
    - Statically check immediate type against table type for call_indirect.
    - Dynamic check for call_indirect should only happen when for funcref
      (currently the only function supertype).
    - Allocate a different map per function signature (with Map::Copy).
    - Introduce function type equivalence and (trivial) subtyping.
    - Add a few elementary tests.
    
    Bug: v8:7748
    Change-Id: If57d0bfd856c9eb3784191f3de423f53dfd26ef1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2335190
    Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69250}
    a61aaed9
module-decoder.cc 89.9 KB