1(module 2 (memory $m1 1) 3 (memory $m2 1) 4 5 (func (export "store1") (param i32 i64) 6 local.get 0 7 local.get 1 8 i64.store $m1) 9 10 (func (export "store2") (param i32 i64) 11 local.get 0 12 local.get 1 13 i64.store $m2) 14 15 (func (export "load1") (param i32) (result i64) 16 local.get 0 17 i64.load $m1) 18 19 (func (export "load2") (param i32) (result i64) 20 local.get 0 21 i64.load $m2) 22) 23 24(invoke "store1" (i32.const 0) (i64.const 1)) 25(invoke "store2" (i32.const 0) (i64.const 2)) 26(assert_return (invoke "load1" (i32.const 0)) (i64.const 1)) 27(assert_return (invoke "load2" (i32.const 0)) (i64.const 2)) 28 29(module $a 30 (memory (export "mem") 1) 31 32 (func (export "store") (param i32 i64) 33 local.get 0 34 local.get 1 35 i64.store) 36 37 (func (export "load") (param i32) (result i64) 38 local.get 0 39 i64.load) 40) 41 42(module $b 43 (memory (export "mem") 1) 44 45 (func (export "store") (param i32 i64) 46 local.get 0 47 local.get 1 48 i64.store) 49 50 (func (export "load") (param i32) (result i64) 51 local.get 0 52 i64.load) 53) 54 55(invoke $a "store" (i32.const 0) (i64.const 1)) 56(invoke $b "store" (i32.const 0) (i64.const 2)) 57(assert_return (invoke $a "load" (i32.const 0)) (i64.const 1)) 58(assert_return (invoke $b "load" (i32.const 0)) (i64.const 2)) 59 60(module $c 61 (import "a" "mem" (memory $m1 1)) 62 (import "b" "mem" (memory $m2 1)) 63 64 (func (export "store1") (param i32 i64) 65 local.get 0 66 local.get 1 67 i64.store $m1) 68 69 (func (export "store2") (param i32 i64) 70 local.get 0 71 local.get 1 72 i64.store $m2) 73 74 (func (export "load1") (param i32) (result i64) 75 local.get 0 76 i64.load $m1) 77 78 (func (export "load2") (param i32) (result i64) 79 local.get 0 80 i64.load $m2) 81) 82 83(invoke "store1" (i32.const 0) (i64.const 1)) 84(invoke "store2" (i32.const 0) (i64.const 2)) 85(assert_return (invoke "load1" (i32.const 0)) (i64.const 1)) 86 87(assert_return (invoke "load2" (i32.const 0)) (i64.const 2)) 88 89(module 90 (memory $m1 1) 91 (memory $m2 2) 92 93 (func (export "grow1") (param i32) (result i32) 94 local.get 0 95 memory.grow $m1) 96 97 (func (export "grow2") (param i32) (result i32) 98 local.get 0 99 memory.grow $m2) 100 101 (func (export "size1") (result i32) memory.size $m1) 102 (func (export "size2") (result i32) memory.size $m2) 103) 104 105(assert_return (invoke "size1") (i32.const 1)) 106(assert_return (invoke "size2") (i32.const 2)) 107(assert_return (invoke "grow1" (i32.const 3)) (i32.const 1)) 108(assert_return (invoke "grow1" (i32.const 4)) (i32.const 4)) 109(assert_return (invoke "grow1" (i32.const 1)) (i32.const 8)) 110(assert_return (invoke "grow2" (i32.const 1)) (i32.const 2)) 111(assert_return (invoke "grow2" (i32.const 1)) (i32.const 3)) 112 113(module 114 (memory $m1 1) 115 (memory $m2 1) 116 117 (func (export "init1") (result i32) 118 i32.const 1 119 i32.const 0 120 i32.const 4 121 memory.init $m1 $d 122 i32.const 1 123 i32.load) 124 125 (func (export "init2") (result i32) 126 i32.const 1 127 i32.const 4 128 i32.const 4 129 memory.init $m2 $d 130 i32.const 1 131 i32.load $m2) 132 133 (data $d "\01\00\00\00" "\02\00\00\00") 134) 135 136(assert_return (invoke "init1") (i32.const 1)) 137(assert_return (invoke "init2") (i32.const 2)) 138 139(module 140 (memory $m1 1) 141 (memory $m2 1) 142 143 (func (export "fill1") (result i32) 144 i32.const 1 145 i32.const 0x01 146 i32.const 4 147 memory.fill $m1 148 i32.const 1 149 i32.load) 150 151 (func (export "fill2") (result i32) 152 i32.const 1 153 i32.const 0x02 154 i32.const 2 155 memory.fill $m2 156 i32.const 1 157 i32.load $m2) 158) 159 160(assert_return (invoke "fill1") (i32.const 0x01010101)) 161(assert_return (invoke "fill2") (i32.const 0x0202)) 162