wasmtime-cli 46.0.1

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

(module
  (memory 1)

  (data (i32.const 1) "hi")
)
;; 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+64
;;     gv2 = load.i64 notrap aligned readonly can_move gv0+56
;;     sig0 = (i64 vmctx, i64, i64, i64) tail
;;     fn0 = colocated u805306368:1 sig0
;;
;; block0(v0: i64, v1: i64):
;;     v3 = load.i64 notrap aligned v0+112
;;     v4 = iconst.i64 0
;;     v5 = icmp eq v3, v4  ; v4 = 0
;;     brif v5, block2, block1
;;
;; block1:
;;     v8 = load.i32 notrap aligned v0+120
;;     v11 = load.i64 notrap aligned v0+64
;;     v13 = uextend.i64 v8
;;     v17 = icmp ugt v13, v11
;;     trapnz v17, heap_oob
;;     v18 = load.i64 notrap aligned readonly can_move v0+56
;;     call fn0(v0, v18, v3, v13)
;;     jump block2
;;
;; block2:
;;     return
;; }