mirror of
https://github.com/fluencelabs/wasmer
synced 2025-03-16 00:00:49 +00:00
Added call indirect example
This commit is contained in:
parent
46742c9aaf
commit
ba74488f7d
30
examples/call_indirect.wast
Normal file
30
examples/call_indirect.wast
Normal file
@ -0,0 +1,30 @@
|
||||
(module
|
||||
(type $FUNCSIG$iii (func (param i32 i32) (result i32)))
|
||||
(table 1 1 anyfunc)
|
||||
(elem (i32.const 0) $multiply)
|
||||
(memory $0 1)
|
||||
(export "memory" (memory $0))
|
||||
(export "dispatch" (func $dispatch))
|
||||
(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)
|
||||
(get_local $1)
|
||||
(get_local $2)
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $multiply (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
|
||||
(i32.mul
|
||||
(get_local $1)
|
||||
(get_local $0)
|
||||
)
|
||||
)
|
||||
(func $main (; 2 ;) (result i32)
|
||||
(call $dispatch
|
||||
(i32.const 0)
|
||||
(i32.const 20)
|
||||
(i32.const 30)
|
||||
)
|
||||
)
|
||||
)
|
Loading…
x
Reference in New Issue
Block a user