• 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...
test-backing-store.cc Loading commit data...
test-c-wasm-entry.cc Loading commit data...
test-compilation-cache.cc Loading commit data...
test-gc.cc Loading commit data...
test-grow-memory.cc Loading commit data...
test-jump-table-assembler.cc Loading commit data...
test-liftoff-for-fuzzing.cc Loading commit data...
test-liftoff-inspection.cc Loading commit data...
test-run-wasm-64.cc Loading commit data...
test-run-wasm-asmjs.cc Loading commit data...
test-run-wasm-atomics.cc Loading commit data...
test-run-wasm-atomics64.cc Loading commit data...
test-run-wasm-bulk-memory.cc Loading commit data...
test-run-wasm-exceptions.cc Loading commit data...
test-run-wasm-interpreter.cc Loading commit data...
test-run-wasm-js.cc Loading commit data...
test-run-wasm-memory64.cc Loading commit data...
test-run-wasm-module.cc Loading commit data...
test-run-wasm-relaxed-simd.cc Loading commit data...
test-run-wasm-sign-extension.cc Loading commit data...
test-run-wasm-simd-liftoff.cc Loading commit data...
test-run-wasm-simd.cc Loading commit data...
test-run-wasm-wrappers.cc Loading commit data...
test-run-wasm.cc Loading commit data...
test-streaming-compilation.cc Loading commit data...
test-wasm-breakpoints.cc Loading commit data...
test-wasm-codegen.cc Loading commit data...
test-wasm-import-wrapper-cache.cc Loading commit data...
test-wasm-metrics.cc Loading commit data...
test-wasm-serialization.cc Loading commit data...
test-wasm-shared-engine.cc Loading commit data...
test-wasm-stack.cc Loading commit data...
test-wasm-strings.cc Loading commit data...
test-wasm-trap-position.cc Loading commit data...
wasm-atomics-utils.h Loading commit data...
wasm-run-utils.cc Loading commit data...
wasm-run-utils.h Loading commit data...
wasm-simd-utils.cc Loading commit data...
wasm-simd-utils.h Loading commit data...