Improved call indirect example

This commit is contained in:
Syrus Akbary 2018-10-23 11:49:38 +02:00
parent 138d5a6bf4
commit 6cb78439e3

View File

@ -1,5 +1,5 @@
(module
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
(type $multiply_signature (func (param i32 i32) (result i32)))
(table 1 1 anyfunc)
(elem (i32.const 0) $multiply)
(memory $0 1)
@ -8,13 +8,13 @@
(export "multiply" (func $multiply))
(export "main" (func $main))
(func $dispatch (; 0 ;) (param $0 i32) (param $1 i32) (param $2 i32) (result i32)
(call_indirect (type $FUNCSIG$iii)
(call_indirect (type $multiply_signature)
(get_local $1)
(get_local $2)
(get_local $0)
)
)
(func $multiply (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(func $multiply (; 1 ;) (type $multiply_signature) (param $0 i32) (param $1 i32) (result i32)
(i32.mul
(get_local $1)
(get_local $0)