• Manos Koukoutos's avatar
    [wasm] Use isorecursive canonical types for call_indirect · 4f0ef8c3
    Manos Koukoutos authored
    Currently, we canonicalize types for call_indirect by looking in the
    current module for a signature of the same shape. This is not enough
    as of wasm-gc. Instead, the canonical identifier representing a type
    has to be computed via isorecursive canonicalization.
    This change is implemented behind a flag for now.
    Future work: Also integrate export wrappers with isorecursive
    canonical types. We need to store wrappers in instance-independent
    storage.
    
    Drive-by:
    - Always emit type check for call_indirect. We did not emit a check
      only when typed-function-references was enabled, but not gc. This
      is not something that will be possible long-term.
    - Fix some wasm cctests.
    
    Bug: v8:7748
    Change-Id: I7cced187009ac148c833dff5e720a8bb9a717e68
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3784600Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#82064}
    4f0ef8c3
Name
Last commit
Last update
..
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
control-transfer-unittest.cc Loading commit data...
decoder-unittest.cc Loading commit data...
function-body-decoder-unittest.cc Loading commit data...
leb-helper-unittest.cc Loading commit data...
liftoff-register-unittests.cc Loading commit data...
loop-assignment-analysis-unittest.cc Loading commit data...
memory-protection-unittest.cc Loading commit data...
module-decoder-memory64-unittest.cc Loading commit data...
module-decoder-unittest.cc Loading commit data...
simd-shuffle-unittest.cc Loading commit data...
streaming-decoder-unittest.cc Loading commit data...
string-builder-unittest.cc Loading commit data...
subtyping-unittest.cc Loading commit data...
trap-handler-posix-unittest.cc Loading commit data...
trap-handler-simulator-unittest.cc Loading commit data...
trap-handler-win-unittest.cc Loading commit data...
trap-handler-x64-unittest.cc Loading commit data...
wasm-code-manager-unittest.cc Loading commit data...
wasm-compiler-unittest.cc Loading commit data...
wasm-gdbserver-unittest.cc Loading commit data...
wasm-macro-gen-unittest.cc Loading commit data...
wasm-module-builder-unittest.cc Loading commit data...
wasm-module-sourcemap-unittest.cc Loading commit data...