blob: 0e3276bb535c57c1afaffa8322094149a856c448 [file] [edit]
(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)
)
)
)