wasmtime-cli 46.0.1

Command-line interface for Wasmtime
Documentation
;;! target = 'x86_64'
;;! test = 'optimize'
;;! filter = 'module_start'
;;! flags = '-Wgc -Wfunction-references'

(module
  (table 10 (ref i31) (ref.i31 (i32.const 0)))
)
;; function u2415919104:1(i64 vmctx, i64, i64, i64) -> i8 system_v {
;;     sig0 = (i64 vmctx, i64) tail
;;     fn0 = colocated u2415919104:0 sig0
;;
;; block0(v0: i64, v1: i64, v2: i64, v3: i64):
;;     jump block1
;;
;; block1:
;;     v4 = load.i64 notrap aligned v0+8
;;     v5 = get_frame_pointer.i64 
;;     store notrap aligned v5, v4+72
;;     v6 = get_stack_pointer.i64 
;;     store notrap aligned v6, v4+64
;;     v7 = get_exception_handler_address.i64 block1, 0
;;     store notrap aligned v7, v4+80
;;     try_call fn0(v0, v1), sig0, block2, [ default: block3 ]
;;
;; block2:
;;     v8 = iconst.i8 1
;;     return v8  ; v8 = 1
;;
;; block3:
;;     v9 = iconst.i8 0
;;     return v9  ; v9 = 0
;; }
;;
;; function u2415919104:0(i64 vmctx, i64) tail {
;;     gv0 = vmctx
;;     gv1 = load.i64 notrap aligned gv0+48
;;     gv2 = load.i64 notrap aligned gv0+56
;;
;; block0(v0: i64, v1: i64):
;;     v9 = load.i64 notrap aligned v0+56
;;     v10 = ireduce.i32 v9
;;     v11 = uextend.i64 v10
;;     v41 = iconst.i64 10
;;     v53 = icmp ult v11, v41  ; v41 = 10
;;     trapnz v53, user6
;;     v18 = load.i64 notrap aligned v0+48
;;     v3 = iconst.i32 1
;;     v83 = iconst.i64 36
;;     v85 = iadd v18, v83  ; v83 = 36
;;     v20 = iconst.i64 4
;;     jump block1(v18)
;;
;; block1(v29: i64):
;;     v88 = iconst.i32 1
;;     store notrap aligned v88, v29  ; v88 = 1
;;     v89 = iadd.i64 v18, v83  ; v83 = 36
;;     v90 = icmp eq v29, v89
;;     v91 = iconst.i64 4
;;     v92 = iadd v29, v91  ; v91 = 4
;;     brif v90, block2, block1(v92)
;;
;; block2:
;;     return
;; }