1;;! target = "x86_64"
2
3(module
4  (data $passive "this is a passive data segment")
5  (memory 0)
6
7  (func (export "init") (param i32 i32 i32)
8    local.get 0 ;; dst
9    local.get 1 ;; src
10    local.get 2 ;; cnt
11    memory.init $passive)
12
13  (func (export "drop")
14    data.drop $passive))
15
16;; function u0:0(i64 vmctx, i64, i32, i32, i32) tail {
17;;     gv0 = vmctx
18;;     gv1 = load.i64 notrap aligned readonly gv0+8
19;;     gv2 = load.i64 notrap aligned gv1+24
20;;     gv3 = vmctx
21;;     gv4 = load.i64 notrap aligned gv3+64
22;;     gv5 = load.i64 notrap aligned readonly can_move gv3+56
23;;     sig0 = (i64 vmctx, i32, i32, i64, i32, i32) -> i8 tail
24;;     fn0 = colocated u805306368:6 sig0
25;;     stack_limit = gv2
26;;
27;;                                 block0(v0: i64, v1: i64, v2: i32, v3: i32, v4: i32):
28;; @003d                               v5 = iconst.i32 0
29;; @003d                               v6 = iconst.i32 0
30;; @003d                               v8 = uextend.i64 v2
31;; @003d                               v9 = call fn0(v0, v5, v6, v8, v3, v4)  ; v5 = 0, v6 = 0
32;; @0041                               jump block1
33;;
34;;                                 block1:
35;; @0041                               return
36;; }
37;;
38;; function u0:1(i64 vmctx, i64) tail {
39;;     gv0 = vmctx
40;;     gv1 = load.i64 notrap aligned readonly gv0+8
41;;     gv2 = load.i64 notrap aligned gv1+24
42;;     gv3 = vmctx
43;;     sig0 = (i64 vmctx, i32) -> i8 tail
44;;     fn0 = colocated u805306368:8 sig0
45;;     stack_limit = gv2
46;;
47;;                                 block0(v0: i64, v1: i64):
48;; @0044                               v2 = iconst.i32 0
49;; @0044                               v4 = call fn0(v0, v2)  ; v2 = 0
50;; @0047                               jump block1
51;;
52;;                                 block1:
53;; @0047                               return
54;; }
55