63 lines
1.4 KiB
WebAssembly Text Format
63 lines
1.4 KiB
WebAssembly Text Format
(module
|
|
(type $heap-object (sub (struct (field (mut i32)))))
|
|
(type (func (param i32) (result)))
|
|
(type (array (mut (ref null 1))))
|
|
(type (array (mut (ref null eq))))
|
|
(global (mut i32) (i32.const 0))
|
|
(global (ref 2) (i32.const 128) (array.new_default 2))
|
|
(global (ref 3) (i32.const 32) (array.new_default 3))
|
|
(global (mut (ref null eq)) (ref.null eq))
|
|
(elem declare funcref (ref.func 1))
|
|
(func
|
|
(param i32)
|
|
(result)
|
|
(local (ref eq) (ref eq) (ref eq) (ref eq) (ref eq))
|
|
(global.get 2)
|
|
(i32.const 0)
|
|
(array.get 3)
|
|
ref.as_non_null
|
|
(global.set 3))
|
|
(func
|
|
(param i32)
|
|
(result)
|
|
(local (ref eq) (ref eq) (ref eq) (ref eq) (ref eq))
|
|
(global.get 2)
|
|
(i32.const 0)
|
|
(array.get 3)
|
|
ref.as_non_null
|
|
(local.set 1)
|
|
(global.get 2)
|
|
(i32.const 0)
|
|
(local.get 1)
|
|
(array.set 3)
|
|
(i32.const 1)
|
|
(global.get 1)
|
|
(global.get 0)
|
|
(array.get 2)
|
|
ref.as_non_null
|
|
(global.get 0)
|
|
(i32.const 1)
|
|
i32.sub
|
|
(global.set 0)
|
|
(return_call_ref 1))
|
|
(func
|
|
(param i32)
|
|
(result)
|
|
(local (ref eq) (ref eq) (ref eq) (ref eq) (ref eq))
|
|
(ref.func 1)
|
|
(local.set 1)
|
|
(global.get 2)
|
|
(i32.const 0)
|
|
(local.get 1)
|
|
(array.set 3)
|
|
(return_call 1))
|
|
(func
|
|
(param)
|
|
(result (ref eq))
|
|
(local (ref eq) (ref eq) (ref eq) (ref eq) (ref eq))
|
|
(i32.const 0)
|
|
(call 1)
|
|
(global.get 3)
|
|
ref.as_non_null)
|
|
(export "main" (func 3)))
|