| (module |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (elem (i32.const 1) $foo) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (call $foo |
| (local.get $x) |
| (local.get $y) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (type $i32_=>_i32 (func (param i32) (result i32))) |
| (table $0 5 5 funcref) |
| (elem (table $0) (i32.const 1) func $dummy) |
| (table $1 5 5 funcref) |
| (elem (table $1) (i32.const 1) func $f) |
| (func $dummy (param $0 i32) (result i32) |
| (local.get $0) |
| ) |
| (func $f (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $g (param $x i32) (param $y i32) |
| (call $f |
| (local.get $x) |
| (local.get $y) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (table $1 5 5 funcref) |
| (elem (table $1) (i32.const 4) func $foo) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (call $foo |
| (local.get $x) |
| (local.get $y) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (elem (i32.const 0) $foo) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (call $foo |
| (local.get $x) |
| (local.get $y) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (elem (table $0) (i32.const 0) func $foo $foo $foo $foo $foo) |
| (table $1 5 5 funcref) |
| (elem (table $1) (i32.const 0) func $foo $foo $foo $foo $foo) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (call $foo |
| (local.get $x) |
| (local.get $y) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (import "env" "table" (table $table 5 5 funcref)) |
| (elem (i32.const 1) $foo) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (call_indirect $table (type $ii) |
| (local.get $x) |
| (local.get $y) |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (elem (i32.const 1) $foo) |
| (export "tab" (table $0)) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (call_indirect $0 (type $ii) |
| (local.get $x) |
| (local.get $y) |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (elem (global.get $g) $foo) |
| (global $g (mut i32) (i32.const 1)) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (call_indirect $0 (type $ii) |
| (local.get $x) |
| (local.get $y) |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (table $1 5 5 funcref) |
| (elem (table $1) (global.get $g) func $foo) |
| (global $g (mut i32) (i32.const 1)) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (call_indirect $1 (type $ii) |
| (local.get $x) |
| (local.get $y) |
| (i32.const 1) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) |
| (table $0 5 5 funcref) |
| (elem (i32.const 1) $foo) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) (param $z i32) |
| (call_indirect $0 (type $ii) |
| (local.get $x) |
| (local.get $y) |
| (local.get $z) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (elem (i32.const 1) $foo) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (block |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (local.get $y) |
| ) |
| ) |
| (unreachable) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (elem (i32.const 1) $foo) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (block |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (local.get $y) |
| ) |
| ) |
| (unreachable) |
| ) |
| ) |
| (module |
| (type $i32_=>_none (func (param i32))) |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (elem (i32.const 1) $foo) |
| (func $foo (param $0 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (block |
| (drop |
| (local.get $x) |
| ) |
| (drop |
| (local.get $y) |
| ) |
| ) |
| (unreachable) |
| ) |
| ) |
| (module |
| (type $i32_=>_none (func (param i32))) |
| (func $foo (param $0 i32) |
| (unreachable) |
| ) |
| ) |
| (module |
| (type $none_=>_none (func)) |
| (table $0 8 8 funcref) |
| (func $0 |
| (block $block |
| (nop) |
| (block |
| (block |
| ) |
| (unreachable) |
| ) |
| ) |
| ) |
| ) |
| (module |
| (type $ii (func (param i32 i32))) |
| (table $0 5 5 funcref) |
| (elem (i32.const 1) $foo) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (return_call $foo |
| (local.get $x) |
| (local.get $y) |
| ) |
| ) |
| ) |
| (module |
| (type $i32_i32_=>_none (func (param i32 i32))) |
| (func $foo (param $0 i32) (param $1 i32) |
| (unreachable) |
| ) |
| (func $bar (param $x i32) (param $y i32) |
| (call $foo |
| (local.get $x) |
| (local.get $y) |
| ) |
| ) |
| ) |