diff --git a/std/assembly/arraybuffer.ts b/std/assembly/arraybuffer.ts index b77e20ea43..5e948c9bfe 100644 --- a/std/assembly/arraybuffer.ts +++ b/std/assembly/arraybuffer.ts @@ -32,20 +32,21 @@ export abstract class ArrayBufferView { @sealed export class ArrayBuffer { static isView(value: T): bool { - if (value) { - if (value instanceof Int8Array) return true; - if (value instanceof Uint8Array) return true; - if (value instanceof Uint8ClampedArray) return true; - if (value instanceof Int16Array) return true; - if (value instanceof Uint16Array) return true; - if (value instanceof Int32Array) return true; - if (value instanceof Uint32Array) return true; - if (value instanceof Int64Array) return true; - if (value instanceof Uint64Array) return true; - if (value instanceof Float32Array) return true; - if (value instanceof Float64Array) return true; - if (value instanceof DataView) return true; + if (isNullable()) { + if (value === null) return false; } + if (value instanceof Int8Array) return true; + if (value instanceof Uint8Array) return true; + if (value instanceof Uint8ClampedArray) return true; + if (value instanceof Int16Array) return true; + if (value instanceof Uint16Array) return true; + if (value instanceof Int32Array) return true; + if (value instanceof Uint32Array) return true; + if (value instanceof Int64Array) return true; + if (value instanceof Uint64Array) return true; + if (value instanceof Float32Array) return true; + if (value instanceof Float64Array) return true; + if (value instanceof DataView) return true; return false; } diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index b68793a4af..1004642c3f 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -4163,7 +4163,7 @@ if i32.const 0 i32.const 376 - i32.const 612 + i32.const 613 i32.const 6 call $~lib/builtins/abort unreachable @@ -6353,7 +6353,7 @@ if i32.const 0 i32.const 376 - i32.const 874 + i32.const 875 i32.const 2 call $~lib/builtins/abort unreachable @@ -6721,7 +6721,7 @@ if i32.const 0 i32.const 376 - i32.const 874 + i32.const 875 i32.const 2 call $~lib/builtins/abort unreachable @@ -6871,7 +6871,7 @@ if i32.const 0 i32.const 376 - i32.const 874 + i32.const 875 i32.const 2 call $~lib/builtins/abort unreachable @@ -11544,18 +11544,6 @@ call $~lib/builtins/abort unreachable end - global.get $std/array/arr - call $~lib/array/Array.isArray<~lib/array/Array | null> - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 376 - i32.const 41 - i32.const 2 - call $~lib/builtins/abort - unreachable - end i32.const 0 call $std/array/Ref#constructor local.tee $2 @@ -11563,7 +11551,7 @@ if i32.const 0 i32.const 376 - i32.const 42 + i32.const 41 i32.const 2 call $~lib/builtins/abort unreachable @@ -11581,7 +11569,7 @@ if i32.const 0 i32.const 376 - i32.const 43 + i32.const 42 i32.const 2 call $~lib/builtins/abort unreachable @@ -11591,7 +11579,18 @@ if i32.const 0 i32.const 376 - i32.const 45 + i32.const 44 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array.isArray<~lib/array/Array | null> + i32.eqz + if + i32.const 0 + i32.const 376 + i32.const 46 i32.const 2 call $~lib/builtins/abort unreachable @@ -11626,7 +11625,7 @@ if i32.const 0 i32.const 376 - i32.const 53 + i32.const 54 i32.const 2 call $~lib/builtins/abort unreachable @@ -11650,7 +11649,7 @@ if i32.const 0 i32.const 376 - i32.const 56 + i32.const 57 i32.const 2 call $~lib/builtins/abort unreachable @@ -11674,7 +11673,7 @@ if i32.const 0 i32.const 376 - i32.const 59 + i32.const 60 i32.const 2 call $~lib/builtins/abort unreachable @@ -11698,7 +11697,7 @@ if i32.const 0 i32.const 376 - i32.const 62 + i32.const 63 i32.const 2 call $~lib/builtins/abort unreachable @@ -11722,7 +11721,7 @@ if i32.const 0 i32.const 376 - i32.const 65 + i32.const 66 i32.const 2 call $~lib/builtins/abort unreachable @@ -11769,7 +11768,7 @@ if i32.const 0 i32.const 376 - i32.const 72 + i32.const 73 i32.const 2 call $~lib/builtins/abort unreachable @@ -11794,7 +11793,7 @@ if i32.const 0 i32.const 376 - i32.const 75 + i32.const 76 i32.const 2 call $~lib/builtins/abort unreachable @@ -11819,7 +11818,7 @@ if i32.const 0 i32.const 376 - i32.const 78 + i32.const 79 i32.const 2 call $~lib/builtins/abort unreachable @@ -11844,7 +11843,7 @@ if i32.const 0 i32.const 376 - i32.const 81 + i32.const 82 i32.const 2 call $~lib/builtins/abort unreachable @@ -11869,7 +11868,7 @@ if i32.const 0 i32.const 376 - i32.const 84 + i32.const 85 i32.const 2 call $~lib/builtins/abort unreachable @@ -11893,7 +11892,7 @@ if i32.const 0 i32.const 376 - i32.const 90 + i32.const 91 i32.const 2 call $~lib/builtins/abort unreachable @@ -11903,7 +11902,7 @@ if i32.const 0 i32.const 376 - i32.const 91 + i32.const 92 i32.const 2 call $~lib/builtins/abort unreachable @@ -11919,7 +11918,7 @@ if i32.const 0 i32.const 376 - i32.const 95 + i32.const 96 i32.const 2 call $~lib/builtins/abort unreachable @@ -11931,7 +11930,7 @@ if i32.const 0 i32.const 376 - i32.const 96 + i32.const 97 i32.const 2 call $~lib/builtins/abort unreachable @@ -11943,7 +11942,7 @@ if i32.const 0 i32.const 376 - i32.const 97 + i32.const 98 i32.const 2 call $~lib/builtins/abort unreachable @@ -11955,7 +11954,7 @@ if i32.const 0 i32.const 376 - i32.const 101 + i32.const 102 i32.const 2 call $~lib/builtins/abort unreachable @@ -11965,7 +11964,7 @@ if i32.const 0 i32.const 376 - i32.const 102 + i32.const 103 i32.const 2 call $~lib/builtins/abort unreachable @@ -11977,7 +11976,7 @@ if i32.const 0 i32.const 376 - i32.const 103 + i32.const 104 i32.const 2 call $~lib/builtins/abort unreachable @@ -11992,7 +11991,7 @@ if i32.const 0 i32.const 376 - i32.const 107 + i32.const 108 i32.const 2 call $~lib/builtins/abort unreachable @@ -12004,7 +12003,7 @@ if i32.const 0 i32.const 376 - i32.const 108 + i32.const 109 i32.const 2 call $~lib/builtins/abort unreachable @@ -12017,7 +12016,7 @@ if i32.const 0 i32.const 376 - i32.const 109 + i32.const 110 i32.const 2 call $~lib/builtins/abort unreachable @@ -12032,7 +12031,7 @@ if i32.const 0 i32.const 376 - i32.const 113 + i32.const 114 i32.const 2 call $~lib/builtins/abort unreachable @@ -12044,7 +12043,7 @@ if i32.const 0 i32.const 376 - i32.const 114 + i32.const 115 i32.const 2 call $~lib/builtins/abort unreachable @@ -12057,7 +12056,7 @@ if i32.const 0 i32.const 376 - i32.const 115 + i32.const 116 i32.const 2 call $~lib/builtins/abort unreachable @@ -12070,7 +12069,7 @@ if i32.const 0 i32.const 376 - i32.const 116 + i32.const 117 i32.const 2 call $~lib/builtins/abort unreachable @@ -12085,7 +12084,7 @@ if i32.const 0 i32.const 376 - i32.const 120 + i32.const 121 i32.const 2 call $~lib/builtins/abort unreachable @@ -12097,7 +12096,7 @@ if i32.const 0 i32.const 376 - i32.const 121 + i32.const 122 i32.const 2 call $~lib/builtins/abort unreachable @@ -12110,7 +12109,7 @@ if i32.const 0 i32.const 376 - i32.const 122 + i32.const 123 i32.const 2 call $~lib/builtins/abort unreachable @@ -12123,7 +12122,7 @@ if i32.const 0 i32.const 376 - i32.const 123 + i32.const 124 i32.const 2 call $~lib/builtins/abort unreachable @@ -12136,7 +12135,7 @@ if i32.const 0 i32.const 376 - i32.const 124 + i32.const 125 i32.const 2 call $~lib/builtins/abort unreachable @@ -12169,7 +12168,7 @@ if i32.const 0 i32.const 376 - i32.const 132 + i32.const 133 i32.const 2 call $~lib/builtins/abort unreachable @@ -12194,7 +12193,7 @@ if i32.const 0 i32.const 376 - i32.const 141 + i32.const 142 i32.const 2 call $~lib/builtins/abort unreachable @@ -12206,7 +12205,7 @@ if i32.const 0 i32.const 376 - i32.const 142 + i32.const 143 i32.const 2 call $~lib/builtins/abort unreachable @@ -12218,7 +12217,7 @@ if i32.const 0 i32.const 376 - i32.const 143 + i32.const 144 i32.const 2 call $~lib/builtins/abort unreachable @@ -12240,7 +12239,7 @@ if i32.const 0 i32.const 376 - i32.const 146 + i32.const 147 i32.const 2 call $~lib/builtins/abort unreachable @@ -12253,7 +12252,7 @@ if i32.const 0 i32.const 376 - i32.const 148 + i32.const 149 i32.const 2 call $~lib/builtins/abort unreachable @@ -12266,7 +12265,7 @@ if i32.const 0 i32.const 376 - i32.const 149 + i32.const 150 i32.const 2 call $~lib/builtins/abort unreachable @@ -12279,7 +12278,7 @@ if i32.const 0 i32.const 376 - i32.const 150 + i32.const 151 i32.const 2 call $~lib/builtins/abort unreachable @@ -12303,7 +12302,7 @@ if i32.const 0 i32.const 376 - i32.const 157 + i32.const 158 i32.const 2 call $~lib/builtins/abort unreachable @@ -12315,7 +12314,7 @@ if i32.const 0 i32.const 376 - i32.const 158 + i32.const 159 i32.const 2 call $~lib/builtins/abort unreachable @@ -12327,7 +12326,7 @@ if i32.const 0 i32.const 376 - i32.const 159 + i32.const 160 i32.const 2 call $~lib/builtins/abort unreachable @@ -12340,7 +12339,7 @@ if i32.const 0 i32.const 376 - i32.const 160 + i32.const 161 i32.const 2 call $~lib/builtins/abort unreachable @@ -12353,7 +12352,7 @@ if i32.const 0 i32.const 376 - i32.const 161 + i32.const 162 i32.const 2 call $~lib/builtins/abort unreachable @@ -12366,7 +12365,7 @@ if i32.const 0 i32.const 376 - i32.const 162 + i32.const 163 i32.const 2 call $~lib/builtins/abort unreachable @@ -12379,7 +12378,7 @@ if i32.const 0 i32.const 376 - i32.const 163 + i32.const 164 i32.const 2 call $~lib/builtins/abort unreachable @@ -12392,7 +12391,7 @@ if i32.const 0 i32.const 376 - i32.const 164 + i32.const 165 i32.const 2 call $~lib/builtins/abort unreachable @@ -12407,7 +12406,7 @@ if i32.const 0 i32.const 376 - i32.const 167 + i32.const 168 i32.const 2 call $~lib/builtins/abort unreachable @@ -12425,7 +12424,7 @@ if i32.const 0 i32.const 376 - i32.const 175 + i32.const 176 i32.const 2 call $~lib/builtins/abort unreachable @@ -12443,7 +12442,7 @@ if i32.const 0 i32.const 376 - i32.const 177 + i32.const 178 i32.const 2 call $~lib/builtins/abort unreachable @@ -12453,7 +12452,7 @@ if i32.const 0 i32.const 376 - i32.const 178 + i32.const 179 i32.const 2 call $~lib/builtins/abort unreachable @@ -12495,7 +12494,7 @@ if i32.const 0 i32.const 376 - i32.const 185 + i32.const 186 i32.const 2 call $~lib/builtins/abort unreachable @@ -12536,7 +12535,7 @@ if i32.const 0 i32.const 376 - i32.const 187 + i32.const 188 i32.const 2 call $~lib/builtins/abort unreachable @@ -12577,7 +12576,7 @@ if i32.const 0 i32.const 376 - i32.const 189 + i32.const 190 i32.const 2 call $~lib/builtins/abort unreachable @@ -12619,7 +12618,7 @@ if i32.const 0 i32.const 376 - i32.const 191 + i32.const 192 i32.const 2 call $~lib/builtins/abort unreachable @@ -12661,7 +12660,7 @@ if i32.const 0 i32.const 376 - i32.const 193 + i32.const 194 i32.const 2 call $~lib/builtins/abort unreachable @@ -12703,7 +12702,7 @@ if i32.const 0 i32.const 376 - i32.const 195 + i32.const 196 i32.const 2 call $~lib/builtins/abort unreachable @@ -12745,7 +12744,7 @@ if i32.const 0 i32.const 376 - i32.const 197 + i32.const 198 i32.const 2 call $~lib/builtins/abort unreachable @@ -12787,7 +12786,7 @@ if i32.const 0 i32.const 376 - i32.const 199 + i32.const 200 i32.const 2 call $~lib/builtins/abort unreachable @@ -12829,7 +12828,7 @@ if i32.const 0 i32.const 376 - i32.const 201 + i32.const 202 i32.const 2 call $~lib/builtins/abort unreachable @@ -12871,7 +12870,7 @@ if i32.const 0 i32.const 376 - i32.const 203 + i32.const 204 i32.const 2 call $~lib/builtins/abort unreachable @@ -12913,7 +12912,7 @@ if i32.const 0 i32.const 376 - i32.const 205 + i32.const 206 i32.const 2 call $~lib/builtins/abort unreachable @@ -12955,7 +12954,7 @@ if i32.const 0 i32.const 376 - i32.const 207 + i32.const 208 i32.const 2 call $~lib/builtins/abort unreachable @@ -13044,7 +13043,7 @@ if i32.const 0 i32.const 376 - i32.const 215 + i32.const 216 i32.const 2 call $~lib/builtins/abort unreachable @@ -13056,7 +13055,7 @@ if i32.const 0 i32.const 376 - i32.const 216 + i32.const 217 i32.const 2 call $~lib/builtins/abort unreachable @@ -13069,7 +13068,7 @@ if i32.const 0 i32.const 376 - i32.const 217 + i32.const 218 i32.const 2 call $~lib/builtins/abort unreachable @@ -13082,7 +13081,7 @@ if i32.const 0 i32.const 376 - i32.const 218 + i32.const 219 i32.const 2 call $~lib/builtins/abort unreachable @@ -13095,7 +13094,7 @@ if i32.const 0 i32.const 376 - i32.const 219 + i32.const 220 i32.const 2 call $~lib/builtins/abort unreachable @@ -13108,7 +13107,7 @@ if i32.const 0 i32.const 376 - i32.const 220 + i32.const 221 i32.const 2 call $~lib/builtins/abort unreachable @@ -13123,7 +13122,7 @@ if i32.const 0 i32.const 376 - i32.const 224 + i32.const 225 i32.const 2 call $~lib/builtins/abort unreachable @@ -13135,7 +13134,7 @@ if i32.const 0 i32.const 376 - i32.const 225 + i32.const 226 i32.const 2 call $~lib/builtins/abort unreachable @@ -13148,7 +13147,7 @@ if i32.const 0 i32.const 376 - i32.const 226 + i32.const 227 i32.const 2 call $~lib/builtins/abort unreachable @@ -13161,7 +13160,7 @@ if i32.const 0 i32.const 376 - i32.const 227 + i32.const 228 i32.const 2 call $~lib/builtins/abort unreachable @@ -13174,7 +13173,7 @@ if i32.const 0 i32.const 376 - i32.const 228 + i32.const 229 i32.const 2 call $~lib/builtins/abort unreachable @@ -13187,7 +13186,7 @@ if i32.const 0 i32.const 376 - i32.const 229 + i32.const 230 i32.const 2 call $~lib/builtins/abort unreachable @@ -13200,7 +13199,7 @@ if i32.const 0 i32.const 376 - i32.const 230 + i32.const 231 i32.const 2 call $~lib/builtins/abort unreachable @@ -13214,7 +13213,7 @@ if i32.const 0 i32.const 376 - i32.const 239 + i32.const 240 i32.const 2 call $~lib/builtins/abort unreachable @@ -13226,7 +13225,7 @@ if i32.const 0 i32.const 376 - i32.const 240 + i32.const 241 i32.const 2 call $~lib/builtins/abort unreachable @@ -13238,7 +13237,7 @@ if i32.const 0 i32.const 376 - i32.const 241 + i32.const 242 i32.const 2 call $~lib/builtins/abort unreachable @@ -13251,7 +13250,7 @@ if i32.const 0 i32.const 376 - i32.const 242 + i32.const 243 i32.const 2 call $~lib/builtins/abort unreachable @@ -13264,7 +13263,7 @@ if i32.const 0 i32.const 376 - i32.const 243 + i32.const 244 i32.const 2 call $~lib/builtins/abort unreachable @@ -13277,7 +13276,7 @@ if i32.const 0 i32.const 376 - i32.const 244 + i32.const 245 i32.const 2 call $~lib/builtins/abort unreachable @@ -13290,7 +13289,7 @@ if i32.const 0 i32.const 376 - i32.const 245 + i32.const 246 i32.const 2 call $~lib/builtins/abort unreachable @@ -13304,7 +13303,7 @@ if i32.const 0 i32.const 376 - i32.const 249 + i32.const 250 i32.const 2 call $~lib/builtins/abort unreachable @@ -13316,7 +13315,7 @@ if i32.const 0 i32.const 376 - i32.const 250 + i32.const 251 i32.const 2 call $~lib/builtins/abort unreachable @@ -13328,7 +13327,7 @@ if i32.const 0 i32.const 376 - i32.const 251 + i32.const 252 i32.const 2 call $~lib/builtins/abort unreachable @@ -13341,7 +13340,7 @@ if i32.const 0 i32.const 376 - i32.const 252 + i32.const 253 i32.const 2 call $~lib/builtins/abort unreachable @@ -13354,7 +13353,7 @@ if i32.const 0 i32.const 376 - i32.const 253 + i32.const 254 i32.const 2 call $~lib/builtins/abort unreachable @@ -13367,7 +13366,7 @@ if i32.const 0 i32.const 376 - i32.const 254 + i32.const 255 i32.const 2 call $~lib/builtins/abort unreachable @@ -13382,7 +13381,7 @@ if i32.const 0 i32.const 376 - i32.const 262 + i32.const 263 i32.const 2 call $~lib/builtins/abort unreachable @@ -13394,7 +13393,7 @@ if i32.const 0 i32.const 376 - i32.const 263 + i32.const 264 i32.const 2 call $~lib/builtins/abort unreachable @@ -13407,7 +13406,7 @@ if i32.const 0 i32.const 376 - i32.const 264 + i32.const 265 i32.const 2 call $~lib/builtins/abort unreachable @@ -13420,7 +13419,7 @@ if i32.const 0 i32.const 376 - i32.const 265 + i32.const 266 i32.const 2 call $~lib/builtins/abort unreachable @@ -13433,7 +13432,7 @@ if i32.const 0 i32.const 376 - i32.const 266 + i32.const 267 i32.const 2 call $~lib/builtins/abort unreachable @@ -13453,7 +13452,7 @@ if i32.const 0 i32.const 376 - i32.const 276 + i32.const 277 i32.const 2 call $~lib/builtins/abort unreachable @@ -13469,7 +13468,7 @@ if i32.const 0 i32.const 376 - i32.const 279 + i32.const 280 i32.const 2 call $~lib/builtins/abort unreachable @@ -13485,7 +13484,7 @@ if i32.const 0 i32.const 376 - i32.const 282 + i32.const 283 i32.const 2 call $~lib/builtins/abort unreachable @@ -13501,7 +13500,7 @@ if i32.const 0 i32.const 376 - i32.const 285 + i32.const 286 i32.const 2 call $~lib/builtins/abort unreachable @@ -13517,7 +13516,7 @@ if i32.const 0 i32.const 376 - i32.const 288 + i32.const 289 i32.const 2 call $~lib/builtins/abort unreachable @@ -13533,7 +13532,7 @@ if i32.const 0 i32.const 376 - i32.const 291 + i32.const 292 i32.const 2 call $~lib/builtins/abort unreachable @@ -13549,7 +13548,7 @@ if i32.const 0 i32.const 376 - i32.const 294 + i32.const 295 i32.const 2 call $~lib/builtins/abort unreachable @@ -13565,7 +13564,7 @@ if i32.const 0 i32.const 376 - i32.const 297 + i32.const 298 i32.const 2 call $~lib/builtins/abort unreachable @@ -13581,7 +13580,7 @@ if i32.const 0 i32.const 376 - i32.const 300 + i32.const 301 i32.const 2 call $~lib/builtins/abort unreachable @@ -13597,7 +13596,7 @@ if i32.const 0 i32.const 376 - i32.const 303 + i32.const 304 i32.const 2 call $~lib/builtins/abort unreachable @@ -13611,7 +13610,7 @@ if i32.const 0 i32.const 376 - i32.const 310 + i32.const 311 i32.const 2 call $~lib/builtins/abort unreachable @@ -13625,7 +13624,7 @@ if i32.const 0 i32.const 376 - i32.const 313 + i32.const 314 i32.const 2 call $~lib/builtins/abort unreachable @@ -13637,7 +13636,7 @@ if i32.const 0 i32.const 376 - i32.const 316 + i32.const 317 i32.const 2 call $~lib/builtins/abort unreachable @@ -13649,7 +13648,7 @@ if i32.const 0 i32.const 376 - i32.const 319 + i32.const 320 i32.const 2 call $~lib/builtins/abort unreachable @@ -13663,7 +13662,7 @@ if i32.const 0 i32.const 376 - i32.const 322 + i32.const 323 i32.const 2 call $~lib/builtins/abort unreachable @@ -13677,7 +13676,7 @@ if i32.const 0 i32.const 376 - i32.const 325 + i32.const 326 i32.const 2 call $~lib/builtins/abort unreachable @@ -13691,7 +13690,7 @@ if i32.const 0 i32.const 376 - i32.const 328 + i32.const 329 i32.const 2 call $~lib/builtins/abort unreachable @@ -13705,7 +13704,7 @@ if i32.const 0 i32.const 376 - i32.const 331 + i32.const 332 i32.const 2 call $~lib/builtins/abort unreachable @@ -13719,7 +13718,7 @@ if i32.const 0 i32.const 376 - i32.const 334 + i32.const 335 i32.const 2 call $~lib/builtins/abort unreachable @@ -13733,7 +13732,7 @@ if i32.const 0 i32.const 376 - i32.const 337 + i32.const 338 i32.const 2 call $~lib/builtins/abort unreachable @@ -13750,7 +13749,7 @@ if i32.const 0 i32.const 376 - i32.const 341 + i32.const 342 i32.const 2 call $~lib/builtins/abort unreachable @@ -13762,7 +13761,7 @@ if i32.const 0 i32.const 376 - i32.const 342 + i32.const 343 i32.const 2 call $~lib/builtins/abort unreachable @@ -13775,7 +13774,7 @@ if i32.const 0 i32.const 376 - i32.const 343 + i32.const 344 i32.const 2 call $~lib/builtins/abort unreachable @@ -13788,7 +13787,7 @@ if i32.const 0 i32.const 376 - i32.const 344 + i32.const 345 i32.const 2 call $~lib/builtins/abort unreachable @@ -13819,7 +13818,7 @@ if i32.const 0 i32.const 376 - i32.const 351 + i32.const 352 i32.const 2 call $~lib/builtins/abort unreachable @@ -13838,7 +13837,7 @@ if i32.const 0 i32.const 376 - i32.const 352 + i32.const 353 i32.const 2 call $~lib/builtins/abort unreachable @@ -13879,7 +13878,7 @@ if i32.const 0 i32.const 376 - i32.const 355 + i32.const 356 i32.const 2 call $~lib/builtins/abort unreachable @@ -13898,7 +13897,7 @@ if i32.const 0 i32.const 376 - i32.const 356 + i32.const 357 i32.const 2 call $~lib/builtins/abort unreachable @@ -13939,7 +13938,7 @@ if i32.const 0 i32.const 376 - i32.const 359 + i32.const 360 i32.const 2 call $~lib/builtins/abort unreachable @@ -13958,7 +13957,7 @@ if i32.const 0 i32.const 376 - i32.const 360 + i32.const 361 i32.const 2 call $~lib/builtins/abort unreachable @@ -13999,7 +13998,7 @@ if i32.const 0 i32.const 376 - i32.const 363 + i32.const 364 i32.const 2 call $~lib/builtins/abort unreachable @@ -14018,7 +14017,7 @@ if i32.const 0 i32.const 376 - i32.const 364 + i32.const 365 i32.const 2 call $~lib/builtins/abort unreachable @@ -14059,7 +14058,7 @@ if i32.const 0 i32.const 376 - i32.const 367 + i32.const 368 i32.const 2 call $~lib/builtins/abort unreachable @@ -14078,7 +14077,7 @@ if i32.const 0 i32.const 376 - i32.const 368 + i32.const 369 i32.const 2 call $~lib/builtins/abort unreachable @@ -14119,7 +14118,7 @@ if i32.const 0 i32.const 376 - i32.const 371 + i32.const 372 i32.const 2 call $~lib/builtins/abort unreachable @@ -14138,7 +14137,7 @@ if i32.const 0 i32.const 376 - i32.const 372 + i32.const 373 i32.const 2 call $~lib/builtins/abort unreachable @@ -14179,7 +14178,7 @@ if i32.const 0 i32.const 376 - i32.const 375 + i32.const 376 i32.const 2 call $~lib/builtins/abort unreachable @@ -14198,7 +14197,7 @@ if i32.const 0 i32.const 376 - i32.const 376 + i32.const 377 i32.const 2 call $~lib/builtins/abort unreachable @@ -14239,7 +14238,7 @@ if i32.const 0 i32.const 376 - i32.const 379 + i32.const 380 i32.const 2 call $~lib/builtins/abort unreachable @@ -14258,7 +14257,7 @@ if i32.const 0 i32.const 376 - i32.const 380 + i32.const 381 i32.const 2 call $~lib/builtins/abort unreachable @@ -14299,7 +14298,7 @@ if i32.const 0 i32.const 376 - i32.const 383 + i32.const 384 i32.const 2 call $~lib/builtins/abort unreachable @@ -14318,7 +14317,7 @@ if i32.const 0 i32.const 376 - i32.const 384 + i32.const 385 i32.const 2 call $~lib/builtins/abort unreachable @@ -14359,7 +14358,7 @@ if i32.const 0 i32.const 376 - i32.const 387 + i32.const 388 i32.const 2 call $~lib/builtins/abort unreachable @@ -14378,7 +14377,7 @@ if i32.const 0 i32.const 376 - i32.const 388 + i32.const 389 i32.const 2 call $~lib/builtins/abort unreachable @@ -14419,7 +14418,7 @@ if i32.const 0 i32.const 376 - i32.const 391 + i32.const 392 i32.const 2 call $~lib/builtins/abort unreachable @@ -14438,7 +14437,7 @@ if i32.const 0 i32.const 376 - i32.const 392 + i32.const 393 i32.const 2 call $~lib/builtins/abort unreachable @@ -14478,7 +14477,7 @@ if i32.const 0 i32.const 376 - i32.const 395 + i32.const 396 i32.const 2 call $~lib/builtins/abort unreachable @@ -14497,7 +14496,7 @@ if i32.const 0 i32.const 376 - i32.const 396 + i32.const 397 i32.const 2 call $~lib/builtins/abort unreachable @@ -14537,7 +14536,7 @@ if i32.const 0 i32.const 376 - i32.const 399 + i32.const 400 i32.const 2 call $~lib/builtins/abort unreachable @@ -14556,7 +14555,7 @@ if i32.const 0 i32.const 376 - i32.const 400 + i32.const 401 i32.const 2 call $~lib/builtins/abort unreachable @@ -14596,7 +14595,7 @@ if i32.const 0 i32.const 376 - i32.const 403 + i32.const 404 i32.const 2 call $~lib/builtins/abort unreachable @@ -14615,7 +14614,7 @@ if i32.const 0 i32.const 376 - i32.const 404 + i32.const 405 i32.const 2 call $~lib/builtins/abort unreachable @@ -14636,7 +14635,7 @@ if i32.const 0 i32.const 376 - i32.const 408 + i32.const 409 i32.const 2 call $~lib/builtins/abort unreachable @@ -14646,7 +14645,7 @@ if i32.const 0 i32.const 376 - i32.const 409 + i32.const 410 i32.const 2 call $~lib/builtins/abort unreachable @@ -14712,7 +14711,7 @@ if i32.const 0 i32.const 376 - i32.const 414 + i32.const 415 i32.const 2 call $~lib/builtins/abort unreachable @@ -14727,7 +14726,7 @@ if i32.const 0 i32.const 376 - i32.const 415 + i32.const 416 i32.const 2 call $~lib/builtins/abort unreachable @@ -14742,7 +14741,7 @@ if i32.const 0 i32.const 376 - i32.const 416 + i32.const 417 i32.const 2 call $~lib/builtins/abort unreachable @@ -14754,7 +14753,7 @@ if i32.const 0 i32.const 376 - i32.const 418 + i32.const 419 i32.const 2 call $~lib/builtins/abort unreachable @@ -14769,7 +14768,7 @@ if i32.const 0 i32.const 376 - i32.const 419 + i32.const 420 i32.const 2 call $~lib/builtins/abort unreachable @@ -14784,7 +14783,7 @@ if i32.const 0 i32.const 376 - i32.const 420 + i32.const 421 i32.const 2 call $~lib/builtins/abort unreachable @@ -14799,7 +14798,7 @@ if i32.const 0 i32.const 376 - i32.const 421 + i32.const 422 i32.const 2 call $~lib/builtins/abort unreachable @@ -14838,7 +14837,7 @@ if i32.const 0 i32.const 376 - i32.const 426 + i32.const 427 i32.const 2 call $~lib/builtins/abort unreachable @@ -14853,7 +14852,7 @@ if i32.const 0 i32.const 376 - i32.const 427 + i32.const 428 i32.const 2 call $~lib/builtins/abort unreachable @@ -14865,7 +14864,7 @@ if i32.const 0 i32.const 376 - i32.const 429 + i32.const 430 i32.const 2 call $~lib/builtins/abort unreachable @@ -14877,7 +14876,7 @@ if i32.const 0 i32.const 376 - i32.const 430 + i32.const 431 i32.const 2 call $~lib/builtins/abort unreachable @@ -14892,7 +14891,7 @@ if i32.const 0 i32.const 376 - i32.const 431 + i32.const 432 i32.const 2 call $~lib/builtins/abort unreachable @@ -15067,7 +15066,7 @@ if i32.const 0 i32.const 376 - i32.const 444 + i32.const 445 i32.const 2 call $~lib/builtins/abort unreachable @@ -15082,7 +15081,7 @@ if i32.const 0 i32.const 376 - i32.const 447 + i32.const 448 i32.const 2 call $~lib/builtins/abort unreachable @@ -15097,7 +15096,7 @@ if i32.const 0 i32.const 376 - i32.const 450 + i32.const 451 i32.const 2 call $~lib/builtins/abort unreachable @@ -15112,7 +15111,7 @@ if i32.const 0 i32.const 376 - i32.const 458 + i32.const 459 i32.const 2 call $~lib/builtins/abort unreachable @@ -15124,7 +15123,7 @@ if i32.const 0 i32.const 376 - i32.const 459 + i32.const 460 i32.const 2 call $~lib/builtins/abort unreachable @@ -15139,7 +15138,7 @@ if i32.const 0 i32.const 376 - i32.const 461 + i32.const 462 i32.const 2 call $~lib/builtins/abort unreachable @@ -15166,7 +15165,7 @@ if i32.const 0 i32.const 376 - i32.const 474 + i32.const 475 i32.const 2 call $~lib/builtins/abort unreachable @@ -15178,7 +15177,7 @@ if i32.const 0 i32.const 376 - i32.const 475 + i32.const 476 i32.const 2 call $~lib/builtins/abort unreachable @@ -15197,7 +15196,7 @@ if i32.const 0 i32.const 376 - i32.const 485 + i32.const 486 i32.const 2 call $~lib/builtins/abort unreachable @@ -15208,7 +15207,7 @@ if i32.const 0 i32.const 376 - i32.const 488 + i32.const 489 i32.const 2 call $~lib/builtins/abort unreachable @@ -15221,7 +15220,7 @@ if i32.const 0 i32.const 376 - i32.const 496 + i32.const 497 i32.const 2 call $~lib/builtins/abort unreachable @@ -15233,7 +15232,7 @@ if i32.const 0 i32.const 376 - i32.const 497 + i32.const 498 i32.const 2 call $~lib/builtins/abort unreachable @@ -15244,7 +15243,7 @@ if i32.const 0 i32.const 376 - i32.const 499 + i32.const 500 i32.const 2 call $~lib/builtins/abort unreachable @@ -15269,7 +15268,7 @@ if i32.const 0 i32.const 376 - i32.const 512 + i32.const 513 i32.const 2 call $~lib/builtins/abort unreachable @@ -15281,7 +15280,7 @@ if i32.const 0 i32.const 376 - i32.const 513 + i32.const 514 i32.const 2 call $~lib/builtins/abort unreachable @@ -15300,7 +15299,7 @@ if i32.const 0 i32.const 376 - i32.const 523 + i32.const 524 i32.const 2 call $~lib/builtins/abort unreachable @@ -15311,7 +15310,7 @@ if i32.const 0 i32.const 376 - i32.const 526 + i32.const 527 i32.const 2 call $~lib/builtins/abort unreachable @@ -15322,7 +15321,7 @@ if i32.const 0 i32.const 376 - i32.const 534 + i32.const 535 i32.const 2 call $~lib/builtins/abort unreachable @@ -15334,7 +15333,7 @@ if i32.const 0 i32.const 376 - i32.const 535 + i32.const 536 i32.const 2 call $~lib/builtins/abort unreachable @@ -15347,7 +15346,7 @@ if i32.const 0 i32.const 376 - i32.const 537 + i32.const 538 i32.const 2 call $~lib/builtins/abort unreachable @@ -15370,7 +15369,7 @@ if i32.const 0 i32.const 376 - i32.const 550 + i32.const 551 i32.const 2 call $~lib/builtins/abort unreachable @@ -15382,7 +15381,7 @@ if i32.const 0 i32.const 376 - i32.const 551 + i32.const 552 i32.const 2 call $~lib/builtins/abort unreachable @@ -15404,7 +15403,7 @@ if i32.const 0 i32.const 376 - i32.const 562 + i32.const 563 i32.const 2 call $~lib/builtins/abort unreachable @@ -15420,7 +15419,7 @@ if i32.const 0 i32.const 376 - i32.const 571 + i32.const 572 i32.const 2 call $~lib/builtins/abort unreachable @@ -15432,7 +15431,7 @@ if i32.const 0 i32.const 376 - i32.const 572 + i32.const 573 i32.const 2 call $~lib/builtins/abort unreachable @@ -15448,7 +15447,7 @@ if i32.const 0 i32.const 376 - i32.const 575 + i32.const 576 i32.const 2 call $~lib/builtins/abort unreachable @@ -15476,7 +15475,7 @@ if i32.const 0 i32.const 376 - i32.const 589 + i32.const 590 i32.const 2 call $~lib/builtins/abort unreachable @@ -15488,7 +15487,7 @@ if i32.const 0 i32.const 376 - i32.const 590 + i32.const 591 i32.const 2 call $~lib/builtins/abort unreachable @@ -15509,7 +15508,7 @@ if i32.const 0 i32.const 376 - i32.const 615 + i32.const 616 i32.const 2 call $~lib/builtins/abort unreachable @@ -15552,7 +15551,7 @@ if i32.const 0 i32.const 376 - i32.const 629 + i32.const 630 i32.const 2 call $~lib/builtins/abort unreachable @@ -15568,7 +15567,7 @@ if i32.const 0 i32.const 376 - i32.const 630 + i32.const 631 i32.const 2 call $~lib/builtins/abort unreachable @@ -15585,7 +15584,7 @@ if i32.const 0 i32.const 376 - i32.const 639 + i32.const 640 i32.const 2 call $~lib/builtins/abort unreachable @@ -15597,7 +15596,7 @@ if i32.const 0 i32.const 376 - i32.const 640 + i32.const 641 i32.const 2 call $~lib/builtins/abort unreachable @@ -15614,7 +15613,7 @@ if i32.const 0 i32.const 376 - i32.const 647 + i32.const 648 i32.const 2 call $~lib/builtins/abort unreachable @@ -15643,7 +15642,7 @@ if i32.const 0 i32.const 376 - i32.const 662 + i32.const 663 i32.const 2 call $~lib/builtins/abort unreachable @@ -15655,7 +15654,7 @@ if i32.const 0 i32.const 376 - i32.const 663 + i32.const 664 i32.const 2 call $~lib/builtins/abort unreachable @@ -15678,7 +15677,7 @@ if i32.const 0 i32.const 376 - i32.const 673 + i32.const 674 i32.const 2 call $~lib/builtins/abort unreachable @@ -15695,7 +15694,7 @@ if i32.const 0 i32.const 376 - i32.const 682 + i32.const 683 i32.const 2 call $~lib/builtins/abort unreachable @@ -15707,7 +15706,7 @@ if i32.const 0 i32.const 376 - i32.const 683 + i32.const 684 i32.const 2 call $~lib/builtins/abort unreachable @@ -15724,7 +15723,7 @@ if i32.const 0 i32.const 376 - i32.const 690 + i32.const 691 i32.const 2 call $~lib/builtins/abort unreachable @@ -15753,7 +15752,7 @@ if i32.const 0 i32.const 376 - i32.const 705 + i32.const 706 i32.const 2 call $~lib/builtins/abort unreachable @@ -15765,7 +15764,7 @@ if i32.const 0 i32.const 376 - i32.const 706 + i32.const 707 i32.const 2 call $~lib/builtins/abort unreachable @@ -15789,7 +15788,7 @@ if i32.const 0 i32.const 376 - i32.const 716 + i32.const 717 i32.const 2 call $~lib/builtins/abort unreachable @@ -15805,7 +15804,7 @@ if i32.const 0 i32.const 376 - i32.const 720 + i32.const 721 i32.const 2 call $~lib/builtins/abort unreachable @@ -15821,7 +15820,7 @@ if i32.const 0 i32.const 376 - i32.const 723 + i32.const 724 i32.const 2 call $~lib/builtins/abort unreachable @@ -15833,7 +15832,7 @@ if i32.const 0 i32.const 376 - i32.const 726 + i32.const 727 i32.const 2 call $~lib/builtins/abort unreachable @@ -15849,7 +15848,7 @@ if i32.const 0 i32.const 376 - i32.const 734 + i32.const 735 i32.const 2 call $~lib/builtins/abort unreachable @@ -15861,7 +15860,7 @@ if i32.const 0 i32.const 376 - i32.const 735 + i32.const 736 i32.const 2 call $~lib/builtins/abort unreachable @@ -15877,7 +15876,7 @@ if i32.const 0 i32.const 376 - i32.const 737 + i32.const 738 i32.const 2 call $~lib/builtins/abort unreachable @@ -15905,7 +15904,7 @@ if i32.const 0 i32.const 376 - i32.const 750 + i32.const 751 i32.const 2 call $~lib/builtins/abort unreachable @@ -15917,7 +15916,7 @@ if i32.const 0 i32.const 376 - i32.const 751 + i32.const 752 i32.const 2 call $~lib/builtins/abort unreachable @@ -15939,7 +15938,7 @@ if i32.const 0 i32.const 376 - i32.const 761 + i32.const 762 i32.const 2 call $~lib/builtins/abort unreachable @@ -15955,7 +15954,7 @@ if i32.const 0 i32.const 376 - i32.const 765 + i32.const 766 i32.const 2 call $~lib/builtins/abort unreachable @@ -15971,7 +15970,7 @@ if i32.const 0 i32.const 376 - i32.const 768 + i32.const 769 i32.const 2 call $~lib/builtins/abort unreachable @@ -15983,7 +15982,7 @@ if i32.const 0 i32.const 376 - i32.const 771 + i32.const 772 i32.const 2 call $~lib/builtins/abort unreachable @@ -15999,7 +15998,7 @@ if i32.const 0 i32.const 376 - i32.const 779 + i32.const 780 i32.const 2 call $~lib/builtins/abort unreachable @@ -16011,7 +16010,7 @@ if i32.const 0 i32.const 376 - i32.const 780 + i32.const 781 i32.const 2 call $~lib/builtins/abort unreachable @@ -16027,7 +16026,7 @@ if i32.const 0 i32.const 376 - i32.const 782 + i32.const 783 i32.const 2 call $~lib/builtins/abort unreachable @@ -16055,7 +16054,7 @@ if i32.const 0 i32.const 376 - i32.const 795 + i32.const 796 i32.const 2 call $~lib/builtins/abort unreachable @@ -16065,7 +16064,7 @@ if i32.const 0 i32.const 376 - i32.const 796 + i32.const 797 i32.const 2 call $~lib/builtins/abort unreachable @@ -16113,7 +16112,7 @@ if i32.const 0 i32.const 376 - i32.const 885 + i32.const 886 i32.const 2 call $~lib/builtins/abort unreachable @@ -16146,7 +16145,7 @@ if i32.const 0 i32.const 376 - i32.const 889 + i32.const 890 i32.const 2 call $~lib/builtins/abort unreachable @@ -16180,7 +16179,7 @@ if i32.const 0 i32.const 376 - i32.const 893 + i32.const 894 i32.const 2 call $~lib/builtins/abort unreachable @@ -16214,7 +16213,7 @@ if i32.const 0 i32.const 376 - i32.const 897 + i32.const 898 i32.const 2 call $~lib/builtins/abort unreachable @@ -16297,7 +16296,7 @@ if i32.const 0 i32.const 376 - i32.const 917 + i32.const 918 i32.const 2 call $~lib/builtins/abort unreachable @@ -16318,7 +16317,7 @@ if i32.const 0 i32.const 376 - i32.const 920 + i32.const 921 i32.const 2 call $~lib/builtins/abort unreachable @@ -16333,7 +16332,7 @@ if i32.const 0 i32.const 376 - i32.const 923 + i32.const 924 i32.const 2 call $~lib/builtins/abort unreachable @@ -16348,7 +16347,7 @@ if i32.const 0 i32.const 376 - i32.const 926 + i32.const 927 i32.const 2 call $~lib/builtins/abort unreachable @@ -16363,7 +16362,7 @@ if i32.const 0 i32.const 376 - i32.const 929 + i32.const 930 i32.const 2 call $~lib/builtins/abort unreachable @@ -16378,7 +16377,7 @@ if i32.const 0 i32.const 376 - i32.const 932 + i32.const 933 i32.const 2 call $~lib/builtins/abort unreachable @@ -16393,7 +16392,7 @@ if i32.const 0 i32.const 376 - i32.const 935 + i32.const 936 i32.const 2 call $~lib/builtins/abort unreachable @@ -16522,7 +16521,7 @@ if i32.const 0 i32.const 376 - i32.const 972 + i32.const 973 i32.const 2 call $~lib/builtins/abort unreachable @@ -16569,7 +16568,7 @@ if i32.const 0 i32.const 376 - i32.const 981 + i32.const 982 i32.const 2 call $~lib/builtins/abort unreachable @@ -16590,7 +16589,7 @@ if i32.const 0 i32.const 376 - i32.const 982 + i32.const 983 i32.const 2 call $~lib/builtins/abort unreachable @@ -16611,7 +16610,7 @@ if i32.const 0 i32.const 376 - i32.const 983 + i32.const 984 i32.const 2 call $~lib/builtins/abort unreachable @@ -16632,7 +16631,7 @@ if i32.const 0 i32.const 376 - i32.const 984 + i32.const 985 i32.const 2 call $~lib/builtins/abort unreachable @@ -16662,7 +16661,7 @@ if i32.const 0 i32.const 376 - i32.const 985 + i32.const 986 i32.const 2 call $~lib/builtins/abort unreachable @@ -16683,7 +16682,7 @@ if i32.const 0 i32.const 376 - i32.const 986 + i32.const 987 i32.const 2 call $~lib/builtins/abort unreachable @@ -16722,7 +16721,7 @@ if i32.const 0 i32.const 376 - i32.const 988 + i32.const 989 i32.const 2 call $~lib/builtins/abort unreachable @@ -16757,7 +16756,7 @@ if i32.const 0 i32.const 376 - i32.const 991 + i32.const 992 i32.const 2 call $~lib/builtins/abort unreachable @@ -16847,7 +16846,7 @@ if i32.const 0 i32.const 376 - i32.const 1001 + i32.const 1002 i32.const 2 call $~lib/builtins/abort unreachable @@ -16861,7 +16860,7 @@ if i32.const 0 i32.const 376 - i32.const 1002 + i32.const 1003 i32.const 2 call $~lib/builtins/abort unreachable @@ -16875,7 +16874,7 @@ if i32.const 0 i32.const 376 - i32.const 1003 + i32.const 1004 i32.const 2 call $~lib/builtins/abort unreachable @@ -16889,7 +16888,7 @@ if i32.const 0 i32.const 376 - i32.const 1004 + i32.const 1005 i32.const 2 call $~lib/builtins/abort unreachable @@ -16919,7 +16918,7 @@ if i32.const 0 i32.const 376 - i32.const 1006 + i32.const 1007 i32.const 2 call $~lib/builtins/abort unreachable @@ -16949,7 +16948,7 @@ if i32.const 0 i32.const 376 - i32.const 1007 + i32.const 1008 i32.const 2 call $~lib/builtins/abort unreachable @@ -16979,7 +16978,7 @@ if i32.const 0 i32.const 376 - i32.const 1008 + i32.const 1009 i32.const 2 call $~lib/builtins/abort unreachable @@ -17009,7 +17008,7 @@ if i32.const 0 i32.const 376 - i32.const 1009 + i32.const 1010 i32.const 2 call $~lib/builtins/abort unreachable @@ -17031,7 +17030,7 @@ if i32.const 0 i32.const 376 - i32.const 1013 + i32.const 1014 i32.const 2 call $~lib/builtins/abort unreachable @@ -17051,7 +17050,7 @@ if i32.const 0 i32.const 376 - i32.const 1014 + i32.const 1015 i32.const 2 call $~lib/builtins/abort unreachable @@ -17104,7 +17103,7 @@ if i32.const 0 i32.const 376 - i32.const 1017 + i32.const 1018 i32.const 2 call $~lib/builtins/abort unreachable @@ -17157,7 +17156,7 @@ if i32.const 0 i32.const 376 - i32.const 1020 + i32.const 1021 i32.const 2 call $~lib/builtins/abort unreachable @@ -17209,7 +17208,7 @@ if i32.const 0 i32.const 376 - i32.const 1023 + i32.const 1024 i32.const 2 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/array.ts b/tests/compiler/std/array.ts index 9a271207d4..3dc6454e76 100644 --- a/tests/compiler/std/array.ts +++ b/tests/compiler/std/array.ts @@ -37,12 +37,13 @@ class Ref { } { - assert(Array.isArray(null) == false); - assert(Array.isArray(arr) == true); - assert(Array.isArray(new Ref()) == false); - assert(Array.isArray(new Uint8Array(1)) == false); - assert(Array.isArray(1) == false); - assert(Array.isArray("abc") == false); + assert(!Array.isArray(null)); + assert(!Array.isArray(new Ref())); + assert(!Array.isArray(new Uint8Array(1))); + assert(!Array.isArray(1)); + assert(!Array.isArray("abc")); + + assert(Array.isArray(arr)); } // Array#fill ////////////////////////////////////////////////////////////////////////////////////// diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index 05c0682711..f87ceb202b 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -3851,25 +3851,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/array/Array.isArray<~lib/array/Array> (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - (local $1 i32) - local.get $0 - call $~lib/rt/pure/__retain - drop - i32.const 1 - if (result i32) - local.get $0 - i32.const 0 - i32.ne - else - i32.const 0 - end - local.set $1 - local.get $0 - call $~lib/rt/pure/__release - local.get $1 - ) - (func $std/array/Ref#constructor (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/Ref#constructor (; 36 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.eqz if @@ -3884,7 +3866,7 @@ i32.store local.get $0 ) - (func $~lib/array/Array.isArray (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3902,7 +3884,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/typedarray/Uint8Array#constructor (; 39 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#constructor (; 38 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -3918,7 +3900,7 @@ local.set $0 local.get $0 ) - (func $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3936,7 +3918,7 @@ call $~lib/rt/pure/__release local.get $1 ) - (func $~lib/array/Array.isArray (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray (; 40 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) i32.const 0 if (result i32) local.get $0 @@ -3946,7 +3928,7 @@ i32.const 0 end ) - (func $~lib/array/Array.isArray<~lib/string/String> (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/array/Array.isArray<~lib/string/String> (; 41 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain @@ -3964,6 +3946,24 @@ call $~lib/rt/pure/__release local.get $1 ) + (func $~lib/array/Array.isArray<~lib/array/Array> (; 42 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 1 + if (result i32) + local.get $0 + i32.const 0 + i32.ne + else + i32.const 0 + end + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) (func $~lib/rt/__allocArray (; 43 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) @@ -6343,7 +6343,7 @@ if i32.const 0 i32.const 376 - i32.const 612 + i32.const 613 i32.const 6 call $~lib/builtins/abort unreachable @@ -9660,7 +9660,7 @@ if i32.const 0 i32.const 376 - i32.const 874 + i32.const 875 i32.const 2 call $~lib/builtins/abort unreachable @@ -10145,7 +10145,7 @@ if i32.const 0 i32.const 376 - i32.const 874 + i32.const 875 i32.const 2 call $~lib/builtins/abort unreachable @@ -10605,7 +10605,7 @@ if i32.const 0 i32.const 376 - i32.const 874 + i32.const 875 i32.const 2 call $~lib/builtins/abort unreachable @@ -10898,7 +10898,7 @@ if i32.const 0 i32.const 376 - i32.const 874 + i32.const 875 i32.const 2 call $~lib/builtins/abort unreachable @@ -11952,7 +11952,7 @@ if i32.const 0 i32.const 376 - i32.const 874 + i32.const 875 i32.const 2 call $~lib/builtins/abort unreachable @@ -18080,26 +18080,12 @@ global.set $std/array/arr i32.const 0 call $~lib/array/Array.isArray<~lib/array/Array | null> - i32.const 0 - i32.eq i32.eqz - if - i32.const 0 - i32.const 376 - i32.const 40 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - global.get $std/array/arr - call $~lib/array/Array.isArray<~lib/array/Array> - i32.const 1 - i32.eq i32.eqz if i32.const 0 i32.const 376 - i32.const 41 + i32.const 40 i32.const 2 call $~lib/builtins/abort unreachable @@ -18109,13 +18095,12 @@ call $std/array/Ref#constructor local.tee $0 call $~lib/array/Array.isArray - i32.const 0 - i32.eq + i32.eqz i32.eqz if i32.const 0 i32.const 376 - i32.const 42 + i32.const 41 i32.const 2 call $~lib/builtins/abort unreachable @@ -18125,39 +18110,47 @@ call $~lib/typedarray/Uint8Array#constructor local.tee $1 call $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> - i32.const 0 - i32.eq + i32.eqz i32.eqz if i32.const 0 i32.const 376 - i32.const 43 + i32.const 42 i32.const 2 call $~lib/builtins/abort unreachable end i32.const 1 call $~lib/array/Array.isArray - i32.const 0 - i32.eq + i32.eqz i32.eqz if i32.const 0 i32.const 376 - i32.const 44 + i32.const 43 i32.const 2 call $~lib/builtins/abort unreachable end i32.const 416 call $~lib/array/Array.isArray<~lib/string/String> - i32.const 0 - i32.eq + i32.eqz i32.eqz if i32.const 0 i32.const 376 - i32.const 45 + i32.const 44 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + global.get $std/array/arr + call $~lib/array/Array.isArray<~lib/array/Array> + i32.eqz + if + i32.const 0 + i32.const 376 + i32.const 46 i32.const 2 call $~lib/builtins/abort unreachable @@ -18195,7 +18188,7 @@ if i32.const 0 i32.const 376 - i32.const 53 + i32.const 54 i32.const 2 call $~lib/builtins/abort unreachable @@ -18220,7 +18213,7 @@ if i32.const 0 i32.const 376 - i32.const 56 + i32.const 57 i32.const 2 call $~lib/builtins/abort unreachable @@ -18245,7 +18238,7 @@ if i32.const 0 i32.const 376 - i32.const 59 + i32.const 60 i32.const 2 call $~lib/builtins/abort unreachable @@ -18270,7 +18263,7 @@ if i32.const 0 i32.const 376 - i32.const 62 + i32.const 63 i32.const 2 call $~lib/builtins/abort unreachable @@ -18295,7 +18288,7 @@ if i32.const 0 i32.const 376 - i32.const 65 + i32.const 66 i32.const 2 call $~lib/builtins/abort unreachable @@ -18343,7 +18336,7 @@ if i32.const 0 i32.const 376 - i32.const 72 + i32.const 73 i32.const 2 call $~lib/builtins/abort unreachable @@ -18368,7 +18361,7 @@ if i32.const 0 i32.const 376 - i32.const 75 + i32.const 76 i32.const 2 call $~lib/builtins/abort unreachable @@ -18393,7 +18386,7 @@ if i32.const 0 i32.const 376 - i32.const 78 + i32.const 79 i32.const 2 call $~lib/builtins/abort unreachable @@ -18418,7 +18411,7 @@ if i32.const 0 i32.const 376 - i32.const 81 + i32.const 82 i32.const 2 call $~lib/builtins/abort unreachable @@ -18443,7 +18436,7 @@ if i32.const 0 i32.const 376 - i32.const 84 + i32.const 85 i32.const 2 call $~lib/builtins/abort unreachable @@ -18470,7 +18463,7 @@ if i32.const 0 i32.const 376 - i32.const 90 + i32.const 91 i32.const 2 call $~lib/builtins/abort unreachable @@ -18483,7 +18476,7 @@ if i32.const 0 i32.const 376 - i32.const 91 + i32.const 92 i32.const 2 call $~lib/builtins/abort unreachable @@ -18501,7 +18494,7 @@ if i32.const 0 i32.const 376 - i32.const 95 + i32.const 96 i32.const 2 call $~lib/builtins/abort unreachable @@ -18514,7 +18507,7 @@ if i32.const 0 i32.const 376 - i32.const 96 + i32.const 97 i32.const 2 call $~lib/builtins/abort unreachable @@ -18527,7 +18520,7 @@ if i32.const 0 i32.const 376 - i32.const 97 + i32.const 98 i32.const 2 call $~lib/builtins/abort unreachable @@ -18542,7 +18535,7 @@ if i32.const 0 i32.const 376 - i32.const 101 + i32.const 102 i32.const 2 call $~lib/builtins/abort unreachable @@ -18555,7 +18548,7 @@ if i32.const 0 i32.const 376 - i32.const 102 + i32.const 103 i32.const 2 call $~lib/builtins/abort unreachable @@ -18568,7 +18561,7 @@ if i32.const 0 i32.const 376 - i32.const 103 + i32.const 104 i32.const 2 call $~lib/builtins/abort unreachable @@ -18585,7 +18578,7 @@ if i32.const 0 i32.const 376 - i32.const 107 + i32.const 108 i32.const 2 call $~lib/builtins/abort unreachable @@ -18598,7 +18591,7 @@ if i32.const 0 i32.const 376 - i32.const 108 + i32.const 109 i32.const 2 call $~lib/builtins/abort unreachable @@ -18612,7 +18605,7 @@ if i32.const 0 i32.const 376 - i32.const 109 + i32.const 110 i32.const 2 call $~lib/builtins/abort unreachable @@ -18629,7 +18622,7 @@ if i32.const 0 i32.const 376 - i32.const 113 + i32.const 114 i32.const 2 call $~lib/builtins/abort unreachable @@ -18642,7 +18635,7 @@ if i32.const 0 i32.const 376 - i32.const 114 + i32.const 115 i32.const 2 call $~lib/builtins/abort unreachable @@ -18656,7 +18649,7 @@ if i32.const 0 i32.const 376 - i32.const 115 + i32.const 116 i32.const 2 call $~lib/builtins/abort unreachable @@ -18670,7 +18663,7 @@ if i32.const 0 i32.const 376 - i32.const 116 + i32.const 117 i32.const 2 call $~lib/builtins/abort unreachable @@ -18687,7 +18680,7 @@ if i32.const 0 i32.const 376 - i32.const 120 + i32.const 121 i32.const 2 call $~lib/builtins/abort unreachable @@ -18700,7 +18693,7 @@ if i32.const 0 i32.const 376 - i32.const 121 + i32.const 122 i32.const 2 call $~lib/builtins/abort unreachable @@ -18714,7 +18707,7 @@ if i32.const 0 i32.const 376 - i32.const 122 + i32.const 123 i32.const 2 call $~lib/builtins/abort unreachable @@ -18728,7 +18721,7 @@ if i32.const 0 i32.const 376 - i32.const 123 + i32.const 124 i32.const 2 call $~lib/builtins/abort unreachable @@ -18742,7 +18735,7 @@ if i32.const 0 i32.const 376 - i32.const 124 + i32.const 125 i32.const 2 call $~lib/builtins/abort unreachable @@ -18784,7 +18777,7 @@ if i32.const 0 i32.const 376 - i32.const 132 + i32.const 133 i32.const 2 call $~lib/builtins/abort unreachable @@ -18811,7 +18804,7 @@ if i32.const 0 i32.const 376 - i32.const 141 + i32.const 142 i32.const 2 call $~lib/builtins/abort unreachable @@ -18824,7 +18817,7 @@ if i32.const 0 i32.const 376 - i32.const 142 + i32.const 143 i32.const 2 call $~lib/builtins/abort unreachable @@ -18837,7 +18830,7 @@ if i32.const 0 i32.const 376 - i32.const 143 + i32.const 144 i32.const 2 call $~lib/builtins/abort unreachable @@ -18860,7 +18853,7 @@ if i32.const 0 i32.const 376 - i32.const 146 + i32.const 147 i32.const 2 call $~lib/builtins/abort unreachable @@ -18874,7 +18867,7 @@ if i32.const 0 i32.const 376 - i32.const 148 + i32.const 149 i32.const 2 call $~lib/builtins/abort unreachable @@ -18888,7 +18881,7 @@ if i32.const 0 i32.const 376 - i32.const 149 + i32.const 150 i32.const 2 call $~lib/builtins/abort unreachable @@ -18902,7 +18895,7 @@ if i32.const 0 i32.const 376 - i32.const 150 + i32.const 151 i32.const 2 call $~lib/builtins/abort unreachable @@ -18931,7 +18924,7 @@ if i32.const 0 i32.const 376 - i32.const 157 + i32.const 158 i32.const 2 call $~lib/builtins/abort unreachable @@ -18944,7 +18937,7 @@ if i32.const 0 i32.const 376 - i32.const 158 + i32.const 159 i32.const 2 call $~lib/builtins/abort unreachable @@ -18957,7 +18950,7 @@ if i32.const 0 i32.const 376 - i32.const 159 + i32.const 160 i32.const 2 call $~lib/builtins/abort unreachable @@ -18971,7 +18964,7 @@ if i32.const 0 i32.const 376 - i32.const 160 + i32.const 161 i32.const 2 call $~lib/builtins/abort unreachable @@ -18985,7 +18978,7 @@ if i32.const 0 i32.const 376 - i32.const 161 + i32.const 162 i32.const 2 call $~lib/builtins/abort unreachable @@ -18999,7 +18992,7 @@ if i32.const 0 i32.const 376 - i32.const 162 + i32.const 163 i32.const 2 call $~lib/builtins/abort unreachable @@ -19013,7 +19006,7 @@ if i32.const 0 i32.const 376 - i32.const 163 + i32.const 164 i32.const 2 call $~lib/builtins/abort unreachable @@ -19027,7 +19020,7 @@ if i32.const 0 i32.const 376 - i32.const 164 + i32.const 165 i32.const 2 call $~lib/builtins/abort unreachable @@ -19043,7 +19036,7 @@ if i32.const 0 i32.const 376 - i32.const 167 + i32.const 168 i32.const 2 call $~lib/builtins/abort unreachable @@ -19065,7 +19058,7 @@ if i32.const 0 i32.const 376 - i32.const 175 + i32.const 176 i32.const 2 call $~lib/builtins/abort unreachable @@ -19086,7 +19079,7 @@ if i32.const 0 i32.const 376 - i32.const 177 + i32.const 178 i32.const 2 call $~lib/builtins/abort unreachable @@ -19099,7 +19092,7 @@ if i32.const 0 i32.const 376 - i32.const 178 + i32.const 179 i32.const 2 call $~lib/builtins/abort unreachable @@ -19142,7 +19135,7 @@ if i32.const 0 i32.const 376 - i32.const 185 + i32.const 186 i32.const 2 call $~lib/builtins/abort unreachable @@ -19186,7 +19179,7 @@ if i32.const 0 i32.const 376 - i32.const 187 + i32.const 188 i32.const 2 call $~lib/builtins/abort unreachable @@ -19230,7 +19223,7 @@ if i32.const 0 i32.const 376 - i32.const 189 + i32.const 190 i32.const 2 call $~lib/builtins/abort unreachable @@ -19274,7 +19267,7 @@ if i32.const 0 i32.const 376 - i32.const 191 + i32.const 192 i32.const 2 call $~lib/builtins/abort unreachable @@ -19318,7 +19311,7 @@ if i32.const 0 i32.const 376 - i32.const 193 + i32.const 194 i32.const 2 call $~lib/builtins/abort unreachable @@ -19362,7 +19355,7 @@ if i32.const 0 i32.const 376 - i32.const 195 + i32.const 196 i32.const 2 call $~lib/builtins/abort unreachable @@ -19406,7 +19399,7 @@ if i32.const 0 i32.const 376 - i32.const 197 + i32.const 198 i32.const 2 call $~lib/builtins/abort unreachable @@ -19450,7 +19443,7 @@ if i32.const 0 i32.const 376 - i32.const 199 + i32.const 200 i32.const 2 call $~lib/builtins/abort unreachable @@ -19494,7 +19487,7 @@ if i32.const 0 i32.const 376 - i32.const 201 + i32.const 202 i32.const 2 call $~lib/builtins/abort unreachable @@ -19538,7 +19531,7 @@ if i32.const 0 i32.const 376 - i32.const 203 + i32.const 204 i32.const 2 call $~lib/builtins/abort unreachable @@ -19582,7 +19575,7 @@ if i32.const 0 i32.const 376 - i32.const 205 + i32.const 206 i32.const 2 call $~lib/builtins/abort unreachable @@ -19626,7 +19619,7 @@ if i32.const 0 i32.const 376 - i32.const 207 + i32.const 208 i32.const 2 call $~lib/builtins/abort unreachable @@ -19717,7 +19710,7 @@ if i32.const 0 i32.const 376 - i32.const 215 + i32.const 216 i32.const 2 call $~lib/builtins/abort unreachable @@ -19730,7 +19723,7 @@ if i32.const 0 i32.const 376 - i32.const 216 + i32.const 217 i32.const 2 call $~lib/builtins/abort unreachable @@ -19744,7 +19737,7 @@ if i32.const 0 i32.const 376 - i32.const 217 + i32.const 218 i32.const 2 call $~lib/builtins/abort unreachable @@ -19758,7 +19751,7 @@ if i32.const 0 i32.const 376 - i32.const 218 + i32.const 219 i32.const 2 call $~lib/builtins/abort unreachable @@ -19772,7 +19765,7 @@ if i32.const 0 i32.const 376 - i32.const 219 + i32.const 220 i32.const 2 call $~lib/builtins/abort unreachable @@ -19786,7 +19779,7 @@ if i32.const 0 i32.const 376 - i32.const 220 + i32.const 221 i32.const 2 call $~lib/builtins/abort unreachable @@ -19803,7 +19796,7 @@ if i32.const 0 i32.const 376 - i32.const 224 + i32.const 225 i32.const 2 call $~lib/builtins/abort unreachable @@ -19816,7 +19809,7 @@ if i32.const 0 i32.const 376 - i32.const 225 + i32.const 226 i32.const 2 call $~lib/builtins/abort unreachable @@ -19830,7 +19823,7 @@ if i32.const 0 i32.const 376 - i32.const 226 + i32.const 227 i32.const 2 call $~lib/builtins/abort unreachable @@ -19844,7 +19837,7 @@ if i32.const 0 i32.const 376 - i32.const 227 + i32.const 228 i32.const 2 call $~lib/builtins/abort unreachable @@ -19858,7 +19851,7 @@ if i32.const 0 i32.const 376 - i32.const 228 + i32.const 229 i32.const 2 call $~lib/builtins/abort unreachable @@ -19872,7 +19865,7 @@ if i32.const 0 i32.const 376 - i32.const 229 + i32.const 230 i32.const 2 call $~lib/builtins/abort unreachable @@ -19886,7 +19879,7 @@ if i32.const 0 i32.const 376 - i32.const 230 + i32.const 231 i32.const 2 call $~lib/builtins/abort unreachable @@ -19901,7 +19894,7 @@ if i32.const 0 i32.const 376 - i32.const 239 + i32.const 240 i32.const 2 call $~lib/builtins/abort unreachable @@ -19914,7 +19907,7 @@ if i32.const 0 i32.const 376 - i32.const 240 + i32.const 241 i32.const 2 call $~lib/builtins/abort unreachable @@ -19927,7 +19920,7 @@ if i32.const 0 i32.const 376 - i32.const 241 + i32.const 242 i32.const 2 call $~lib/builtins/abort unreachable @@ -19941,7 +19934,7 @@ if i32.const 0 i32.const 376 - i32.const 242 + i32.const 243 i32.const 2 call $~lib/builtins/abort unreachable @@ -19955,7 +19948,7 @@ if i32.const 0 i32.const 376 - i32.const 243 + i32.const 244 i32.const 2 call $~lib/builtins/abort unreachable @@ -19969,7 +19962,7 @@ if i32.const 0 i32.const 376 - i32.const 244 + i32.const 245 i32.const 2 call $~lib/builtins/abort unreachable @@ -19983,7 +19976,7 @@ if i32.const 0 i32.const 376 - i32.const 245 + i32.const 246 i32.const 2 call $~lib/builtins/abort unreachable @@ -19998,7 +19991,7 @@ if i32.const 0 i32.const 376 - i32.const 249 + i32.const 250 i32.const 2 call $~lib/builtins/abort unreachable @@ -20011,7 +20004,7 @@ if i32.const 0 i32.const 376 - i32.const 250 + i32.const 251 i32.const 2 call $~lib/builtins/abort unreachable @@ -20024,7 +20017,7 @@ if i32.const 0 i32.const 376 - i32.const 251 + i32.const 252 i32.const 2 call $~lib/builtins/abort unreachable @@ -20038,7 +20031,7 @@ if i32.const 0 i32.const 376 - i32.const 252 + i32.const 253 i32.const 2 call $~lib/builtins/abort unreachable @@ -20052,7 +20045,7 @@ if i32.const 0 i32.const 376 - i32.const 253 + i32.const 254 i32.const 2 call $~lib/builtins/abort unreachable @@ -20066,7 +20059,7 @@ if i32.const 0 i32.const 376 - i32.const 254 + i32.const 255 i32.const 2 call $~lib/builtins/abort unreachable @@ -20082,7 +20075,7 @@ if i32.const 0 i32.const 376 - i32.const 262 + i32.const 263 i32.const 2 call $~lib/builtins/abort unreachable @@ -20095,7 +20088,7 @@ if i32.const 0 i32.const 376 - i32.const 263 + i32.const 264 i32.const 2 call $~lib/builtins/abort unreachable @@ -20109,7 +20102,7 @@ if i32.const 0 i32.const 376 - i32.const 264 + i32.const 265 i32.const 2 call $~lib/builtins/abort unreachable @@ -20123,7 +20116,7 @@ if i32.const 0 i32.const 376 - i32.const 265 + i32.const 266 i32.const 2 call $~lib/builtins/abort unreachable @@ -20137,7 +20130,7 @@ if i32.const 0 i32.const 376 - i32.const 266 + i32.const 267 i32.const 2 call $~lib/builtins/abort unreachable @@ -20162,7 +20155,7 @@ if i32.const 0 i32.const 376 - i32.const 276 + i32.const 277 i32.const 2 call $~lib/builtins/abort unreachable @@ -20179,7 +20172,7 @@ if i32.const 0 i32.const 376 - i32.const 279 + i32.const 280 i32.const 2 call $~lib/builtins/abort unreachable @@ -20196,7 +20189,7 @@ if i32.const 0 i32.const 376 - i32.const 282 + i32.const 283 i32.const 2 call $~lib/builtins/abort unreachable @@ -20213,7 +20206,7 @@ if i32.const 0 i32.const 376 - i32.const 285 + i32.const 286 i32.const 2 call $~lib/builtins/abort unreachable @@ -20230,7 +20223,7 @@ if i32.const 0 i32.const 376 - i32.const 288 + i32.const 289 i32.const 2 call $~lib/builtins/abort unreachable @@ -20247,7 +20240,7 @@ if i32.const 0 i32.const 376 - i32.const 291 + i32.const 292 i32.const 2 call $~lib/builtins/abort unreachable @@ -20264,7 +20257,7 @@ if i32.const 0 i32.const 376 - i32.const 294 + i32.const 295 i32.const 2 call $~lib/builtins/abort unreachable @@ -20281,7 +20274,7 @@ if i32.const 0 i32.const 376 - i32.const 297 + i32.const 298 i32.const 2 call $~lib/builtins/abort unreachable @@ -20298,7 +20291,7 @@ if i32.const 0 i32.const 376 - i32.const 300 + i32.const 301 i32.const 2 call $~lib/builtins/abort unreachable @@ -20315,7 +20308,7 @@ if i32.const 0 i32.const 376 - i32.const 303 + i32.const 304 i32.const 2 call $~lib/builtins/abort unreachable @@ -20332,7 +20325,7 @@ if i32.const 0 i32.const 376 - i32.const 310 + i32.const 311 i32.const 2 call $~lib/builtins/abort unreachable @@ -20349,7 +20342,7 @@ if i32.const 0 i32.const 376 - i32.const 313 + i32.const 314 i32.const 2 call $~lib/builtins/abort unreachable @@ -20366,7 +20359,7 @@ if i32.const 0 i32.const 376 - i32.const 316 + i32.const 317 i32.const 2 call $~lib/builtins/abort unreachable @@ -20383,7 +20376,7 @@ if i32.const 0 i32.const 376 - i32.const 319 + i32.const 320 i32.const 2 call $~lib/builtins/abort unreachable @@ -20400,7 +20393,7 @@ if i32.const 0 i32.const 376 - i32.const 322 + i32.const 323 i32.const 2 call $~lib/builtins/abort unreachable @@ -20417,7 +20410,7 @@ if i32.const 0 i32.const 376 - i32.const 325 + i32.const 326 i32.const 2 call $~lib/builtins/abort unreachable @@ -20434,7 +20427,7 @@ if i32.const 0 i32.const 376 - i32.const 328 + i32.const 329 i32.const 2 call $~lib/builtins/abort unreachable @@ -20451,7 +20444,7 @@ if i32.const 0 i32.const 376 - i32.const 331 + i32.const 332 i32.const 2 call $~lib/builtins/abort unreachable @@ -20468,7 +20461,7 @@ if i32.const 0 i32.const 376 - i32.const 334 + i32.const 335 i32.const 2 call $~lib/builtins/abort unreachable @@ -20485,7 +20478,7 @@ if i32.const 0 i32.const 376 - i32.const 337 + i32.const 338 i32.const 2 call $~lib/builtins/abort unreachable @@ -20503,7 +20496,7 @@ if i32.const 0 i32.const 376 - i32.const 341 + i32.const 342 i32.const 2 call $~lib/builtins/abort unreachable @@ -20516,7 +20509,7 @@ if i32.const 0 i32.const 376 - i32.const 342 + i32.const 343 i32.const 2 call $~lib/builtins/abort unreachable @@ -20530,7 +20523,7 @@ if i32.const 0 i32.const 376 - i32.const 343 + i32.const 344 i32.const 2 call $~lib/builtins/abort unreachable @@ -20544,7 +20537,7 @@ if i32.const 0 i32.const 376 - i32.const 344 + i32.const 345 i32.const 2 call $~lib/builtins/abort unreachable @@ -20576,7 +20569,7 @@ if i32.const 0 i32.const 376 - i32.const 351 + i32.const 352 i32.const 2 call $~lib/builtins/abort unreachable @@ -20595,7 +20588,7 @@ if i32.const 0 i32.const 376 - i32.const 352 + i32.const 353 i32.const 2 call $~lib/builtins/abort unreachable @@ -20638,7 +20631,7 @@ if i32.const 0 i32.const 376 - i32.const 355 + i32.const 356 i32.const 2 call $~lib/builtins/abort unreachable @@ -20657,7 +20650,7 @@ if i32.const 0 i32.const 376 - i32.const 356 + i32.const 357 i32.const 2 call $~lib/builtins/abort unreachable @@ -20700,7 +20693,7 @@ if i32.const 0 i32.const 376 - i32.const 359 + i32.const 360 i32.const 2 call $~lib/builtins/abort unreachable @@ -20719,7 +20712,7 @@ if i32.const 0 i32.const 376 - i32.const 360 + i32.const 361 i32.const 2 call $~lib/builtins/abort unreachable @@ -20762,7 +20755,7 @@ if i32.const 0 i32.const 376 - i32.const 363 + i32.const 364 i32.const 2 call $~lib/builtins/abort unreachable @@ -20781,7 +20774,7 @@ if i32.const 0 i32.const 376 - i32.const 364 + i32.const 365 i32.const 2 call $~lib/builtins/abort unreachable @@ -20824,7 +20817,7 @@ if i32.const 0 i32.const 376 - i32.const 367 + i32.const 368 i32.const 2 call $~lib/builtins/abort unreachable @@ -20843,7 +20836,7 @@ if i32.const 0 i32.const 376 - i32.const 368 + i32.const 369 i32.const 2 call $~lib/builtins/abort unreachable @@ -20886,7 +20879,7 @@ if i32.const 0 i32.const 376 - i32.const 371 + i32.const 372 i32.const 2 call $~lib/builtins/abort unreachable @@ -20905,7 +20898,7 @@ if i32.const 0 i32.const 376 - i32.const 372 + i32.const 373 i32.const 2 call $~lib/builtins/abort unreachable @@ -20948,7 +20941,7 @@ if i32.const 0 i32.const 376 - i32.const 375 + i32.const 376 i32.const 2 call $~lib/builtins/abort unreachable @@ -20967,7 +20960,7 @@ if i32.const 0 i32.const 376 - i32.const 376 + i32.const 377 i32.const 2 call $~lib/builtins/abort unreachable @@ -21010,7 +21003,7 @@ if i32.const 0 i32.const 376 - i32.const 379 + i32.const 380 i32.const 2 call $~lib/builtins/abort unreachable @@ -21029,7 +21022,7 @@ if i32.const 0 i32.const 376 - i32.const 380 + i32.const 381 i32.const 2 call $~lib/builtins/abort unreachable @@ -21072,7 +21065,7 @@ if i32.const 0 i32.const 376 - i32.const 383 + i32.const 384 i32.const 2 call $~lib/builtins/abort unreachable @@ -21091,7 +21084,7 @@ if i32.const 0 i32.const 376 - i32.const 384 + i32.const 385 i32.const 2 call $~lib/builtins/abort unreachable @@ -21134,7 +21127,7 @@ if i32.const 0 i32.const 376 - i32.const 387 + i32.const 388 i32.const 2 call $~lib/builtins/abort unreachable @@ -21153,7 +21146,7 @@ if i32.const 0 i32.const 376 - i32.const 388 + i32.const 389 i32.const 2 call $~lib/builtins/abort unreachable @@ -21196,7 +21189,7 @@ if i32.const 0 i32.const 376 - i32.const 391 + i32.const 392 i32.const 2 call $~lib/builtins/abort unreachable @@ -21215,7 +21208,7 @@ if i32.const 0 i32.const 376 - i32.const 392 + i32.const 393 i32.const 2 call $~lib/builtins/abort unreachable @@ -21258,7 +21251,7 @@ if i32.const 0 i32.const 376 - i32.const 395 + i32.const 396 i32.const 2 call $~lib/builtins/abort unreachable @@ -21277,7 +21270,7 @@ if i32.const 0 i32.const 376 - i32.const 396 + i32.const 397 i32.const 2 call $~lib/builtins/abort unreachable @@ -21320,7 +21313,7 @@ if i32.const 0 i32.const 376 - i32.const 399 + i32.const 400 i32.const 2 call $~lib/builtins/abort unreachable @@ -21339,7 +21332,7 @@ if i32.const 0 i32.const 376 - i32.const 400 + i32.const 401 i32.const 2 call $~lib/builtins/abort unreachable @@ -21382,7 +21375,7 @@ if i32.const 0 i32.const 376 - i32.const 403 + i32.const 404 i32.const 2 call $~lib/builtins/abort unreachable @@ -21401,7 +21394,7 @@ if i32.const 0 i32.const 376 - i32.const 404 + i32.const 405 i32.const 2 call $~lib/builtins/abort unreachable @@ -21428,7 +21421,7 @@ if i32.const 0 i32.const 376 - i32.const 408 + i32.const 409 i32.const 2 call $~lib/builtins/abort unreachable @@ -21441,7 +21434,7 @@ if i32.const 0 i32.const 376 - i32.const 409 + i32.const 410 i32.const 2 call $~lib/builtins/abort unreachable @@ -21521,7 +21514,7 @@ if i32.const 0 i32.const 376 - i32.const 414 + i32.const 415 i32.const 2 call $~lib/builtins/abort unreachable @@ -21537,7 +21530,7 @@ if i32.const 0 i32.const 376 - i32.const 415 + i32.const 416 i32.const 2 call $~lib/builtins/abort unreachable @@ -21553,7 +21546,7 @@ if i32.const 0 i32.const 376 - i32.const 416 + i32.const 417 i32.const 2 call $~lib/builtins/abort unreachable @@ -21566,7 +21559,7 @@ if i32.const 0 i32.const 376 - i32.const 418 + i32.const 419 i32.const 2 call $~lib/builtins/abort unreachable @@ -21582,7 +21575,7 @@ if i32.const 0 i32.const 376 - i32.const 419 + i32.const 420 i32.const 2 call $~lib/builtins/abort unreachable @@ -21598,7 +21591,7 @@ if i32.const 0 i32.const 376 - i32.const 420 + i32.const 421 i32.const 2 call $~lib/builtins/abort unreachable @@ -21614,7 +21607,7 @@ if i32.const 0 i32.const 376 - i32.const 421 + i32.const 422 i32.const 2 call $~lib/builtins/abort unreachable @@ -21662,7 +21655,7 @@ if i32.const 0 i32.const 376 - i32.const 426 + i32.const 427 i32.const 2 call $~lib/builtins/abort unreachable @@ -21678,7 +21671,7 @@ if i32.const 0 i32.const 376 - i32.const 427 + i32.const 428 i32.const 2 call $~lib/builtins/abort unreachable @@ -21691,7 +21684,7 @@ if i32.const 0 i32.const 376 - i32.const 429 + i32.const 430 i32.const 2 call $~lib/builtins/abort unreachable @@ -21706,7 +21699,7 @@ if i32.const 0 i32.const 376 - i32.const 430 + i32.const 431 i32.const 2 call $~lib/builtins/abort unreachable @@ -21722,7 +21715,7 @@ if i32.const 0 i32.const 376 - i32.const 431 + i32.const 432 i32.const 2 call $~lib/builtins/abort unreachable @@ -21900,7 +21893,7 @@ if i32.const 0 i32.const 376 - i32.const 444 + i32.const 445 i32.const 2 call $~lib/builtins/abort unreachable @@ -21916,7 +21909,7 @@ if i32.const 0 i32.const 376 - i32.const 447 + i32.const 448 i32.const 2 call $~lib/builtins/abort unreachable @@ -21932,7 +21925,7 @@ if i32.const 0 i32.const 376 - i32.const 450 + i32.const 451 i32.const 2 call $~lib/builtins/abort unreachable @@ -21948,7 +21941,7 @@ if i32.const 0 i32.const 376 - i32.const 458 + i32.const 459 i32.const 2 call $~lib/builtins/abort unreachable @@ -21961,7 +21954,7 @@ if i32.const 0 i32.const 376 - i32.const 459 + i32.const 460 i32.const 2 call $~lib/builtins/abort unreachable @@ -21977,7 +21970,7 @@ if i32.const 0 i32.const 376 - i32.const 461 + i32.const 462 i32.const 2 call $~lib/builtins/abort unreachable @@ -22005,7 +21998,7 @@ if i32.const 0 i32.const 376 - i32.const 474 + i32.const 475 i32.const 2 call $~lib/builtins/abort unreachable @@ -22018,7 +22011,7 @@ if i32.const 0 i32.const 376 - i32.const 475 + i32.const 476 i32.const 2 call $~lib/builtins/abort unreachable @@ -22042,7 +22035,7 @@ if i32.const 0 i32.const 376 - i32.const 485 + i32.const 486 i32.const 2 call $~lib/builtins/abort unreachable @@ -22058,7 +22051,7 @@ if i32.const 0 i32.const 376 - i32.const 488 + i32.const 489 i32.const 2 call $~lib/builtins/abort unreachable @@ -22074,7 +22067,7 @@ if i32.const 0 i32.const 376 - i32.const 496 + i32.const 497 i32.const 2 call $~lib/builtins/abort unreachable @@ -22087,7 +22080,7 @@ if i32.const 0 i32.const 376 - i32.const 497 + i32.const 498 i32.const 2 call $~lib/builtins/abort unreachable @@ -22103,7 +22096,7 @@ if i32.const 0 i32.const 376 - i32.const 499 + i32.const 500 i32.const 2 call $~lib/builtins/abort unreachable @@ -22131,7 +22124,7 @@ if i32.const 0 i32.const 376 - i32.const 512 + i32.const 513 i32.const 2 call $~lib/builtins/abort unreachable @@ -22144,7 +22137,7 @@ if i32.const 0 i32.const 376 - i32.const 513 + i32.const 514 i32.const 2 call $~lib/builtins/abort unreachable @@ -22168,7 +22161,7 @@ if i32.const 0 i32.const 376 - i32.const 523 + i32.const 524 i32.const 2 call $~lib/builtins/abort unreachable @@ -22184,7 +22177,7 @@ if i32.const 0 i32.const 376 - i32.const 526 + i32.const 527 i32.const 2 call $~lib/builtins/abort unreachable @@ -22200,7 +22193,7 @@ if i32.const 0 i32.const 376 - i32.const 534 + i32.const 535 i32.const 2 call $~lib/builtins/abort unreachable @@ -22213,7 +22206,7 @@ if i32.const 0 i32.const 376 - i32.const 535 + i32.const 536 i32.const 2 call $~lib/builtins/abort unreachable @@ -22229,7 +22222,7 @@ if i32.const 0 i32.const 376 - i32.const 537 + i32.const 538 i32.const 2 call $~lib/builtins/abort unreachable @@ -22257,7 +22250,7 @@ if i32.const 0 i32.const 376 - i32.const 550 + i32.const 551 i32.const 2 call $~lib/builtins/abort unreachable @@ -22270,7 +22263,7 @@ if i32.const 0 i32.const 376 - i32.const 551 + i32.const 552 i32.const 2 call $~lib/builtins/abort unreachable @@ -22295,7 +22288,7 @@ if i32.const 0 i32.const 376 - i32.const 562 + i32.const 563 i32.const 2 call $~lib/builtins/abort unreachable @@ -22312,7 +22305,7 @@ if i32.const 0 i32.const 376 - i32.const 571 + i32.const 572 i32.const 2 call $~lib/builtins/abort unreachable @@ -22325,7 +22318,7 @@ if i32.const 0 i32.const 376 - i32.const 572 + i32.const 573 i32.const 2 call $~lib/builtins/abort unreachable @@ -22342,7 +22335,7 @@ if i32.const 0 i32.const 376 - i32.const 575 + i32.const 576 i32.const 2 call $~lib/builtins/abort unreachable @@ -22371,7 +22364,7 @@ if i32.const 0 i32.const 376 - i32.const 589 + i32.const 590 i32.const 2 call $~lib/builtins/abort unreachable @@ -22384,7 +22377,7 @@ if i32.const 0 i32.const 376 - i32.const 590 + i32.const 591 i32.const 2 call $~lib/builtins/abort unreachable @@ -22408,7 +22401,7 @@ if i32.const 0 i32.const 376 - i32.const 615 + i32.const 616 i32.const 2 call $~lib/builtins/abort unreachable @@ -22461,7 +22454,7 @@ if i32.const 0 i32.const 376 - i32.const 629 + i32.const 630 i32.const 2 call $~lib/builtins/abort unreachable @@ -22478,7 +22471,7 @@ if i32.const 0 i32.const 376 - i32.const 630 + i32.const 631 i32.const 2 call $~lib/builtins/abort unreachable @@ -22496,7 +22489,7 @@ if i32.const 0 i32.const 376 - i32.const 639 + i32.const 640 i32.const 2 call $~lib/builtins/abort unreachable @@ -22509,7 +22502,7 @@ if i32.const 0 i32.const 376 - i32.const 640 + i32.const 641 i32.const 2 call $~lib/builtins/abort unreachable @@ -22527,7 +22520,7 @@ if i32.const 0 i32.const 376 - i32.const 647 + i32.const 648 i32.const 2 call $~lib/builtins/abort unreachable @@ -22557,7 +22550,7 @@ if i32.const 0 i32.const 376 - i32.const 662 + i32.const 663 i32.const 2 call $~lib/builtins/abort unreachable @@ -22570,7 +22563,7 @@ if i32.const 0 i32.const 376 - i32.const 663 + i32.const 664 i32.const 2 call $~lib/builtins/abort unreachable @@ -22597,7 +22590,7 @@ if i32.const 0 i32.const 376 - i32.const 673 + i32.const 674 i32.const 2 call $~lib/builtins/abort unreachable @@ -22615,7 +22608,7 @@ if i32.const 0 i32.const 376 - i32.const 682 + i32.const 683 i32.const 2 call $~lib/builtins/abort unreachable @@ -22628,7 +22621,7 @@ if i32.const 0 i32.const 376 - i32.const 683 + i32.const 684 i32.const 2 call $~lib/builtins/abort unreachable @@ -22646,7 +22639,7 @@ if i32.const 0 i32.const 376 - i32.const 690 + i32.const 691 i32.const 2 call $~lib/builtins/abort unreachable @@ -22676,7 +22669,7 @@ if i32.const 0 i32.const 376 - i32.const 705 + i32.const 706 i32.const 2 call $~lib/builtins/abort unreachable @@ -22689,7 +22682,7 @@ if i32.const 0 i32.const 376 - i32.const 706 + i32.const 707 i32.const 2 call $~lib/builtins/abort unreachable @@ -22716,7 +22709,7 @@ if i32.const 0 i32.const 376 - i32.const 716 + i32.const 717 i32.const 2 call $~lib/builtins/abort unreachable @@ -22733,7 +22726,7 @@ if i32.const 0 i32.const 376 - i32.const 720 + i32.const 721 i32.const 2 call $~lib/builtins/abort unreachable @@ -22752,7 +22745,7 @@ if i32.const 0 i32.const 376 - i32.const 723 + i32.const 724 i32.const 2 call $~lib/builtins/abort unreachable @@ -22771,7 +22764,7 @@ if i32.const 0 i32.const 376 - i32.const 726 + i32.const 727 i32.const 2 call $~lib/builtins/abort unreachable @@ -22788,7 +22781,7 @@ if i32.const 0 i32.const 376 - i32.const 734 + i32.const 735 i32.const 2 call $~lib/builtins/abort unreachable @@ -22801,7 +22794,7 @@ if i32.const 0 i32.const 376 - i32.const 735 + i32.const 736 i32.const 2 call $~lib/builtins/abort unreachable @@ -22818,7 +22811,7 @@ if i32.const 0 i32.const 376 - i32.const 737 + i32.const 738 i32.const 2 call $~lib/builtins/abort unreachable @@ -22847,7 +22840,7 @@ if i32.const 0 i32.const 376 - i32.const 750 + i32.const 751 i32.const 2 call $~lib/builtins/abort unreachable @@ -22860,7 +22853,7 @@ if i32.const 0 i32.const 376 - i32.const 751 + i32.const 752 i32.const 2 call $~lib/builtins/abort unreachable @@ -22885,7 +22878,7 @@ if i32.const 0 i32.const 376 - i32.const 761 + i32.const 762 i32.const 2 call $~lib/builtins/abort unreachable @@ -22902,7 +22895,7 @@ if i32.const 0 i32.const 376 - i32.const 765 + i32.const 766 i32.const 2 call $~lib/builtins/abort unreachable @@ -22921,7 +22914,7 @@ if i32.const 0 i32.const 376 - i32.const 768 + i32.const 769 i32.const 2 call $~lib/builtins/abort unreachable @@ -22940,7 +22933,7 @@ if i32.const 0 i32.const 376 - i32.const 771 + i32.const 772 i32.const 2 call $~lib/builtins/abort unreachable @@ -22957,7 +22950,7 @@ if i32.const 0 i32.const 376 - i32.const 779 + i32.const 780 i32.const 2 call $~lib/builtins/abort unreachable @@ -22970,7 +22963,7 @@ if i32.const 0 i32.const 376 - i32.const 780 + i32.const 781 i32.const 2 call $~lib/builtins/abort unreachable @@ -22987,7 +22980,7 @@ if i32.const 0 i32.const 376 - i32.const 782 + i32.const 783 i32.const 2 call $~lib/builtins/abort unreachable @@ -23016,7 +23009,7 @@ if i32.const 0 i32.const 376 - i32.const 795 + i32.const 796 i32.const 2 call $~lib/builtins/abort unreachable @@ -23029,7 +23022,7 @@ if i32.const 0 i32.const 376 - i32.const 796 + i32.const 797 i32.const 2 call $~lib/builtins/abort unreachable @@ -23082,7 +23075,7 @@ if i32.const 0 i32.const 376 - i32.const 885 + i32.const 886 i32.const 2 call $~lib/builtins/abort unreachable @@ -23116,7 +23109,7 @@ if i32.const 0 i32.const 376 - i32.const 889 + i32.const 890 i32.const 2 call $~lib/builtins/abort unreachable @@ -23150,7 +23143,7 @@ if i32.const 0 i32.const 376 - i32.const 893 + i32.const 894 i32.const 2 call $~lib/builtins/abort unreachable @@ -23184,7 +23177,7 @@ if i32.const 0 i32.const 376 - i32.const 897 + i32.const 898 i32.const 2 call $~lib/builtins/abort unreachable @@ -23267,7 +23260,7 @@ if i32.const 0 i32.const 376 - i32.const 917 + i32.const 918 i32.const 2 call $~lib/builtins/abort unreachable @@ -23288,7 +23281,7 @@ if i32.const 0 i32.const 376 - i32.const 920 + i32.const 921 i32.const 2 call $~lib/builtins/abort unreachable @@ -23303,7 +23296,7 @@ if i32.const 0 i32.const 376 - i32.const 923 + i32.const 924 i32.const 2 call $~lib/builtins/abort unreachable @@ -23318,7 +23311,7 @@ if i32.const 0 i32.const 376 - i32.const 926 + i32.const 927 i32.const 2 call $~lib/builtins/abort unreachable @@ -23333,7 +23326,7 @@ if i32.const 0 i32.const 376 - i32.const 929 + i32.const 930 i32.const 2 call $~lib/builtins/abort unreachable @@ -23348,7 +23341,7 @@ if i32.const 0 i32.const 376 - i32.const 932 + i32.const 933 i32.const 2 call $~lib/builtins/abort unreachable @@ -23363,7 +23356,7 @@ if i32.const 0 i32.const 376 - i32.const 935 + i32.const 936 i32.const 2 call $~lib/builtins/abort unreachable @@ -23497,7 +23490,7 @@ if i32.const 0 i32.const 376 - i32.const 972 + i32.const 973 i32.const 2 call $~lib/builtins/abort unreachable @@ -23536,7 +23529,7 @@ if i32.const 0 i32.const 376 - i32.const 981 + i32.const 982 i32.const 2 call $~lib/builtins/abort unreachable @@ -23557,7 +23550,7 @@ if i32.const 0 i32.const 376 - i32.const 982 + i32.const 983 i32.const 2 call $~lib/builtins/abort unreachable @@ -23578,7 +23571,7 @@ if i32.const 0 i32.const 376 - i32.const 983 + i32.const 984 i32.const 2 call $~lib/builtins/abort unreachable @@ -23599,7 +23592,7 @@ if i32.const 0 i32.const 376 - i32.const 984 + i32.const 985 i32.const 2 call $~lib/builtins/abort unreachable @@ -23620,7 +23613,7 @@ if i32.const 0 i32.const 376 - i32.const 985 + i32.const 986 i32.const 2 call $~lib/builtins/abort unreachable @@ -23641,7 +23634,7 @@ if i32.const 0 i32.const 376 - i32.const 986 + i32.const 987 i32.const 2 call $~lib/builtins/abort unreachable @@ -23686,7 +23679,7 @@ if i32.const 0 i32.const 376 - i32.const 988 + i32.const 989 i32.const 2 call $~lib/builtins/abort unreachable @@ -23727,7 +23720,7 @@ if i32.const 0 i32.const 376 - i32.const 991 + i32.const 992 i32.const 2 call $~lib/builtins/abort unreachable @@ -23817,7 +23810,7 @@ if i32.const 0 i32.const 376 - i32.const 1001 + i32.const 1002 i32.const 2 call $~lib/builtins/abort unreachable @@ -23831,7 +23824,7 @@ if i32.const 0 i32.const 376 - i32.const 1002 + i32.const 1003 i32.const 2 call $~lib/builtins/abort unreachable @@ -23845,7 +23838,7 @@ if i32.const 0 i32.const 376 - i32.const 1003 + i32.const 1004 i32.const 2 call $~lib/builtins/abort unreachable @@ -23859,7 +23852,7 @@ if i32.const 0 i32.const 376 - i32.const 1004 + i32.const 1005 i32.const 2 call $~lib/builtins/abort unreachable @@ -23879,7 +23872,7 @@ if i32.const 0 i32.const 376 - i32.const 1006 + i32.const 1007 i32.const 2 call $~lib/builtins/abort unreachable @@ -23899,7 +23892,7 @@ if i32.const 0 i32.const 376 - i32.const 1007 + i32.const 1008 i32.const 2 call $~lib/builtins/abort unreachable @@ -23919,7 +23912,7 @@ if i32.const 0 i32.const 376 - i32.const 1008 + i32.const 1009 i32.const 2 call $~lib/builtins/abort unreachable @@ -23939,7 +23932,7 @@ if i32.const 0 i32.const 376 - i32.const 1009 + i32.const 1010 i32.const 2 call $~lib/builtins/abort unreachable @@ -23962,7 +23955,7 @@ if i32.const 0 i32.const 376 - i32.const 1013 + i32.const 1014 i32.const 2 call $~lib/builtins/abort unreachable @@ -23982,7 +23975,7 @@ if i32.const 0 i32.const 376 - i32.const 1014 + i32.const 1015 i32.const 2 call $~lib/builtins/abort unreachable @@ -24028,7 +24021,7 @@ if i32.const 0 i32.const 376 - i32.const 1017 + i32.const 1018 i32.const 2 call $~lib/builtins/abort unreachable @@ -24074,7 +24067,7 @@ if i32.const 0 i32.const 376 - i32.const 1020 + i32.const 1021 i32.const 2 call $~lib/builtins/abort unreachable @@ -24123,7 +24116,7 @@ if i32.const 0 i32.const 376 - i32.const 1023 + i32.const 1024 i32.const 2 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/arraybuffer.optimized.wat b/tests/compiler/std/arraybuffer.optimized.wat index 7cf228091a..71dd096b53 100644 --- a/tests/compiler/std/arraybuffer.optimized.wat +++ b/tests/compiler/std/arraybuffer.optimized.wat @@ -2060,30 +2060,15 @@ call $~lib/rt/pure/decrement end ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 33 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - call $~lib/rt/pure/__retain - drop - local.get $0 - call $~lib/rt/pure/__release + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array | null> (; 33 ;) (type $FUNCSIG$i) (result i32) i32.const 0 - ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 34 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 call $~lib/rt/pure/__retain drop - local.get $0 - if - local.get $0 - call $~lib/rt/pure/__release - i32.const 1 - return - end - local.get $0 + i32.const 0 call $~lib/rt/pure/__release i32.const 0 ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (; 35 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBufferView#constructor (; 34 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) i32.const 1 @@ -2149,7 +2134,7 @@ i32.store offset=8 local.get $0 ) - (func $~lib/rt/__allocArray (; 36 ;) (type $FUNCSIG$i) (result i32) + (func $~lib/rt/__allocArray (; 35 ;) (type $FUNCSIG$i) (result i32) (local $0 i32) (local $1 i32) i32.const 16 @@ -2177,6 +2162,14 @@ call $~lib/memory/memory.copy local.get $0 ) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + local.get $0 + call $~lib/rt/pure/__release + i32.const 1 + ) (func $~lib/dataview/DataView#constructor (; 37 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -2390,10 +2383,10 @@ i32.const -4 i32.const 42 call $~lib/arraybuffer/ArrayBuffer#slice - local.set $1 + local.set $3 local.get $0 call $~lib/rt/pure/__release - local.get $1 + local.get $3 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 4 i32.ne @@ -2409,10 +2402,10 @@ i32.const 42 i32.const 1073741808 call $~lib/arraybuffer/ArrayBuffer#slice - local.set $0 - local.get $1 + local.set $1 + local.get $3 call $~lib/rt/pure/__release - local.get $0 + local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength if i32.const 0 @@ -2422,7 +2415,7 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -2433,41 +2426,33 @@ unreachable end i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> - if - i32.const 0 - i32.const 280 - i32.const 40 - i32.const 2 - call $~lib/builtins/abort - unreachable - end + call $~lib/rt/pure/__retain + drop i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + call $~lib/rt/pure/__release + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array | null> if i32.const 0 i32.const 280 - i32.const 42 + i32.const 43 i32.const 2 call $~lib/builtins/abort unreachable end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array | null> if i32.const 0 i32.const 280 - i32.const 43 + i32.const 44 i32.const 2 call $~lib/builtins/abort unreachable end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array | null> if i32.const 0 i32.const 280 - i32.const 44 + i32.const 45 i32.const 2 call $~lib/builtins/abort unreachable @@ -2478,26 +2463,21 @@ call $~lib/rt/pure/__retain i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor - local.set $1 + local.set $0 call $~lib/rt/__allocArray call $~lib/rt/pure/__retain - local.tee $5 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> - if - i32.const 0 - i32.const 280 - i32.const 47 - i32.const 2 - call $~lib/builtins/abort - unreachable - end - local.get $1 + local.tee $3 + call $~lib/rt/pure/__retain + drop + local.get $3 + call $~lib/rt/pure/__release + local.get $0 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> i32.eqz if i32.const 0 i32.const 280 - i32.const 48 + i32.const 49 i32.const 2 call $~lib/builtins/abort unreachable @@ -2508,51 +2488,51 @@ call $~lib/rt/pure/__retain i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $3 - local.get $3 + local.tee $4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> i32.eqz if i32.const 0 i32.const 280 - i32.const 49 + i32.const 50 i32.const 2 call $~lib/builtins/abort unreachable end i32.const 1 global.set $~lib/argc - local.get $1 + local.get $0 i32.load - local.tee $3 + local.tee $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $4 - local.get $3 + local.set $5 local.get $4 + local.get $5 call $~lib/dataview/DataView#constructor - local.tee $3 - local.set $4 - local.get $3 + local.tee $4 + local.set $5 + local.get $4 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> i32.eqz if i32.const 0 i32.const 280 - i32.const 50 + i32.const 51 i32.const 2 call $~lib/builtins/abort unreachable end local.get $2 call $~lib/rt/pure/__release - local.get $0 - call $~lib/rt/pure/__release local.get $1 call $~lib/rt/pure/__release - local.get $5 + local.get $0 + call $~lib/rt/pure/__release + local.get $3 call $~lib/rt/pure/__release call $~lib/rt/pure/__release - local.get $4 + local.get $5 call $~lib/rt/pure/__release ) (func $start (; 39 ;) (type $FUNCSIG$v) diff --git a/tests/compiler/std/arraybuffer.ts b/tests/compiler/std/arraybuffer.ts index 9382e2776b..64722a3503 100644 --- a/tests/compiler/std/arraybuffer.ts +++ b/tests/compiler/std/arraybuffer.ts @@ -37,11 +37,12 @@ assert(sliced.byteLength == 0); assert(sliced != null); - assert(!ArrayBuffer.isView(changetype(null))); - assert(!ArrayBuffer.isView(changetype(null))); - assert(!ArrayBuffer.isView(changetype(null))); - assert(!ArrayBuffer.isView(changetype(null))); - assert(!ArrayBuffer.isView(changetype(null))); + assert(!ArrayBuffer.isView(null)); + assert(!ArrayBuffer.isView(0)); + assert(!ArrayBuffer.isView(1)); + assert(!ArrayBuffer.isView(null)); + assert(!ArrayBuffer.isView(null)); + assert(!ArrayBuffer.isView(null)); let arr8 = new Uint8Array(1); assert(!ArrayBuffer.isView([1, 2])); diff --git a/tests/compiler/std/arraybuffer.untouched.wat b/tests/compiler/std/arraybuffer.untouched.wat index 04ceec562e..72f4b98018 100644 --- a/tests/compiler/std/arraybuffer.untouched.wat +++ b/tests/compiler/std/arraybuffer.untouched.wat @@ -2034,7 +2034,7 @@ if i32.const 24 i32.const 72 - i32.const 53 + i32.const 54 i32.const 42 call $~lib/builtins/abort unreachable @@ -3647,14 +3647,21 @@ call $~lib/rt/pure/decrement end ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array | null> (; 35 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain drop local.get $0 + i32.const 0 + i32.eq if - nop + i32.const 0 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return end i32.const 0 local.set $1 @@ -3663,71 +3670,76 @@ local.get $1 ) (func $~lib/arraybuffer/ArrayBuffer.isView (; 36 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) - local.get $0 - if - nop - end i32.const 0 ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array | null> (; 37 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain drop local.get $0 + i32.const 0 + i32.eq if - i32.const 1 + i32.const 0 local.set $1 local.get $0 call $~lib/rt/pure/__release local.get $1 return end - i32.const 0 + i32.const 1 local.set $1 local.get $0 call $~lib/rt/pure/__release local.get $1 + return ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array | null> (; 38 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain drop local.get $0 + i32.const 0 + i32.eq if - i32.const 1 + i32.const 0 local.set $1 local.get $0 call $~lib/rt/pure/__release local.get $1 return end - i32.const 0 + i32.const 1 local.set $1 local.get $0 call $~lib/rt/pure/__release local.get $1 + return ) - (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView | null> (; 39 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) (local $1 i32) local.get $0 call $~lib/rt/pure/__retain drop local.get $0 + i32.const 0 + i32.eq if - i32.const 1 + i32.const 0 local.set $1 local.get $0 call $~lib/rt/pure/__release local.get $1 return end - i32.const 0 + i32.const 1 local.set $1 local.get $0 call $~lib/rt/pure/__release local.get $1 + return ) (func $~lib/arraybuffer/ArrayBufferView#constructor (; 40 ;) (type $FUNCSIG$iiii) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -3854,7 +3866,30 @@ end local.get $4 ) - (func $~lib/typedarray/Int32Array#constructor (; 43 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> (; 43 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 0 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + ) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> (; 44 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + ) + (func $~lib/typedarray/Int32Array#constructor (; 45 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) local.get $0 @@ -3870,7 +3905,19 @@ local.set $0 local.get $0 ) - (func $~lib/dataview/DataView#constructor (; 44 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> (; 46 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + ) + (func $~lib/dataview/DataView#constructor (; 47 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -3946,7 +3993,7 @@ call $~lib/rt/pure/__release local.get $0 ) - (func $~lib/dataview/DataView#constructor|trampoline (; 45 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/dataview/DataView#constructor|trampoline (; 48 ;) (type $FUNCSIG$iiiii) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) block $2of2 block $1of2 block $0of2 @@ -3971,7 +4018,19 @@ local.get $3 call $~lib/dataview/DataView#constructor ) - (func $start:std/arraybuffer (; 46 ;) (type $FUNCSIG$v) + (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (; 49 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + call $~lib/rt/pure/__retain + drop + i32.const 1 + local.set $1 + local.get $0 + call $~lib/rt/pure/__release + local.get $1 + return + ) + (func $start:std/arraybuffer (; 50 ;) (type $FUNCSIG$v) (local $0 i32) (local $1 i32) (local $2 i32) @@ -4192,7 +4251,7 @@ unreachable end i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array | null> i32.eqz i32.eqz if @@ -4215,8 +4274,8 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> + i32.const 1 + call $~lib/arraybuffer/ArrayBuffer.isView i32.eqz i32.eqz if @@ -4228,7 +4287,7 @@ unreachable end i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array | null> i32.eqz i32.eqz if @@ -4240,7 +4299,7 @@ unreachable end i32.const 0 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array | null> i32.eqz i32.eqz if @@ -4252,6 +4311,18 @@ unreachable end i32.const 0 + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView | null> + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 280 + i32.const 45 + i32.const 2 + call $~lib/builtins/abort + unreachable + end + i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#constructor local.set $2 @@ -4268,7 +4339,7 @@ if i32.const 0 i32.const 280 - i32.const 47 + i32.const 48 i32.const 2 call $~lib/builtins/abort unreachable @@ -4279,7 +4350,7 @@ if i32.const 0 i32.const 280 - i32.const 48 + i32.const 49 i32.const 2 call $~lib/builtins/abort unreachable @@ -4293,7 +4364,7 @@ if i32.const 0 i32.const 280 - i32.const 49 + i32.const 50 i32.const 2 call $~lib/builtins/abort unreachable @@ -4312,7 +4383,7 @@ if i32.const 0 i32.const 280 - i32.const 50 + i32.const 51 i32.const 2 call $~lib/builtins/abort unreachable @@ -4330,13 +4401,13 @@ local.get $5 call $~lib/rt/pure/__release ) - (func $start (; 47 ;) (type $FUNCSIG$v) + (func $start (; 51 ;) (type $FUNCSIG$v) call $start:std/arraybuffer ) - (func $~lib/array/Array#__visit_impl (; 48 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__visit_impl (; 52 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) nop ) - (func $~lib/rt/pure/__visit (; 49 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/pure/__visit (; 53 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) local.get $0 @@ -4466,7 +4537,7 @@ end end ) - (func $~lib/rt/__visit_members (; 50 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_members (; 54 ;) (type $FUNCSIG$vii) (param $0 i32) (param $1 i32) (local $2 i32) block $block$4$break block $switch$1$default @@ -4500,6 +4571,6 @@ end return ) - (func $null (; 51 ;) (type $FUNCSIG$v) + (func $null (; 55 ;) (type $FUNCSIG$v) ) ) diff --git a/tests/compiler/std/map.optimized.wat b/tests/compiler/std/map.optimized.wat index a95428d740..4f476155ae 100644 --- a/tests/compiler/std/map.optimized.wat +++ b/tests/compiler/std/map.optimized.wat @@ -1609,7 +1609,7 @@ if i32.const 176 i32.const 224 - i32.const 53 + i32.const 54 i32.const 42 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/map.untouched.wat b/tests/compiler/std/map.untouched.wat index b05bb7c219..00239b3a7d 100644 --- a/tests/compiler/std/map.untouched.wat +++ b/tests/compiler/std/map.untouched.wat @@ -2042,7 +2042,7 @@ if i32.const 176 i32.const 224 - i32.const 53 + i32.const 54 i32.const 42 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/set.optimized.wat b/tests/compiler/std/set.optimized.wat index a4f439ff52..1d49e53971 100644 --- a/tests/compiler/std/set.optimized.wat +++ b/tests/compiler/std/set.optimized.wat @@ -1604,7 +1604,7 @@ if i32.const 176 i32.const 224 - i32.const 53 + i32.const 54 i32.const 42 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/set.untouched.wat b/tests/compiler/std/set.untouched.wat index 572742ec0f..57a6df6624 100644 --- a/tests/compiler/std/set.untouched.wat +++ b/tests/compiler/std/set.untouched.wat @@ -2040,7 +2040,7 @@ if i32.const 176 i32.const 224 - i32.const 53 + i32.const 54 i32.const 42 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/symbol.optimized.wat b/tests/compiler/std/symbol.optimized.wat index 8cdfaecce7..d72b18e094 100644 --- a/tests/compiler/std/symbol.optimized.wat +++ b/tests/compiler/std/symbol.optimized.wat @@ -369,7 +369,7 @@ if i32.const 96 i32.const 144 - i32.const 53 + i32.const 54 i32.const 42 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/std/symbol.untouched.wat b/tests/compiler/std/symbol.untouched.wat index 12c93d9aa5..7774c4e106 100644 --- a/tests/compiler/std/symbol.untouched.wat +++ b/tests/compiler/std/symbol.untouched.wat @@ -467,7 +467,7 @@ if i32.const 96 i32.const 144 - i32.const 53 + i32.const 54 i32.const 42 call $~lib/builtins/abort unreachable