blob: eda8b9cc10187c0f46927f09c415a159f8388cce [file] [log] [blame] [edit]
(module
(table 1 1 anyfunc)
(elem (i32.const 0) $tabled)
(func $user (export "user")
(local $x i32)
(local $y f64)
(call $exported)
(call $tabled)
(call $multi)
(call $multi)
(call $ok)
(drop (call $int))
(drop (call $double))
(set_local $x (call $int2))
(set_local $y (call $double2))
(call $with-local)
(call $with-local2)
(drop (call $return))
(call $multipass)
(call $param (f32.const 12.34) (i64.const 890005350012))
)
(func $exported (export "exported")
(nop)
)
(func $recursive
(call $recursive)
)
(func $tabled
(nop)
)
(func $cycle1
(call $cycle2)
)
(func $cycle2
(call $cycle1)
)
(func $multi
(nop)
)
(func $ok
(drop (i32.const 1))
)
(func $int (result i32)
(i32.const 2)
)
(func $double (result f64)
(f64.const 3.14159)
)
(func $int2 (result i32)
(i32.const 112)
)
(func $double2 (result f64)
(f64.const 113.14159)
)
(func $with-local
(local $x f32)
(set_local $x (f32.const 2.141828))
)
(func $with-local2
(local $y i64)
(set_local $y (i64.const 4))
)
(func $return (result i32)
(return (i32.const 5))
)
(func $multipass
(call $multipass2)
)
(func $multipass2
(drop (i32.const 6))
)
(func $param (param $x f32) (param $y i64)
(local $z f32)
(drop (get_local $x))
(drop (get_local $y))
(drop (get_local $z))
)
)
(module
(func $child (param i32) (result i32)
(i32.const 1234)
)
(func $parent (result i32)
(call $child
(unreachable) ;; call is not performed, no sense to inline
)
)
)
(module
(global $hangLimit (mut i32) (i32.const 25))
(memory $0 1 1)
(export "hangLimitInitializer" (func $hangLimitInitializer))
(func $func_3 (result i32)
(local $0 i32)
(select
(get_local $0) ;; we depend on the zero-init value here, so it must be set when inlining!
(tee_local $0
(i32.const -1)
)
(i32.const 1)
)
)
(func $func_4 (param $0 f32) (param $1 i32) (result i32)
(local $2 i64)
(local $3 f64)
(local $4 f32)
(local $5 i32)
(local $6 i32)
(local $7 f64)
(loop $label$0 (result i32)
(block
(if
(i32.eqz
(get_global $hangLimit)
)
(return
(i32.const 54)
)
)
(set_global $hangLimit
(i32.sub
(get_global $hangLimit)
(i32.const 1)
)
)
)
(i32.eqz
(if (result i32)
(i32.const 1)
(if (result i32)
(i32.eqz
(call $func_3)
)
(br $label$0)
(i32.const 0)
)
(unreachable)
)
)
)
)
(func $hangLimitInitializer
(set_global $hangLimit
(i32.const 25)
)
)
)
(module
(type $T (func (param i32)))
(table 10 anyfunc)
(func $0
(call $1)
)
(func $1
(call_indirect (type $T)
(if (result i32) ;; if copy must preserve the forced type
(i32.const 0)
(unreachable)
(unreachable)
)
(i32.const 1)
)
)
)
(module
(func $0
(block $label$1 ;; copy this name
(br_table $label$1 $label$1
(i32.const 0)
)
)
)
(func $1
(call $0)
)
)