2019-03-08 18:58:10 +00:00
|
|
|
(module
|
|
|
|
(type $binop (func (param i32 i32) (result i32)))
|
|
|
|
(table 1 100 anyfunc)
|
2019-03-12 03:34:45 +00:00
|
|
|
(elem (i32.const 5) $sub)
|
2019-03-08 18:58:10 +00:00
|
|
|
(elem (i32.const 10) $add)
|
|
|
|
|
2019-03-12 03:34:45 +00:00
|
|
|
(func $main (export "main")
|
|
|
|
(if (i32.eq (call_indirect (type $binop) (i32.const 42) (i32.const 1) (i32.const 10)) (i32.const 43))
|
|
|
|
(then)
|
|
|
|
(else unreachable)
|
|
|
|
)
|
|
|
|
(if (i32.eq (call_indirect (type $binop) (i32.const 42) (i32.const 1) (i32.const 5)) (i32.const 41))
|
|
|
|
(then)
|
|
|
|
(else unreachable)
|
|
|
|
)
|
2019-03-08 18:58:10 +00:00
|
|
|
)
|
2019-03-12 03:34:45 +00:00
|
|
|
|
2019-03-08 18:58:10 +00:00
|
|
|
(func $add (param i32) (param i32) (result i32)
|
|
|
|
(i32.add (get_local 0) (get_local 1))
|
|
|
|
)
|
2019-03-12 03:34:45 +00:00
|
|
|
|
|
|
|
(func $sub (param i32) (param i32) (result i32)
|
|
|
|
(i32.sub (get_local 0) (get_local 1))
|
|
|
|
)
|
2019-03-08 18:58:10 +00:00
|
|
|
)
|