...
1;;
2;; Generated by ../meta/generate_memory_init.js
3;; DO NOT EDIT THIS FILE. CHANGE THE SOURCE AND REGENERATE.
4;;
5
6(module
7 (memory (export "memory0") 1 1)
8 (data (i32.const 2) "\03\01\04\01")
9 (data "\02\07\01\08")
10 (data (i32.const 12) "\07\05\02\03\06")
11 (data "\05\09\02\07\06")
12 (func (export "test")
13 (nop))
14 (func (export "load8_u") (param i32) (result i32)
15 (i32.load8_u (local.get 0))))
16
17(invoke "test")
18
19(assert_return (invoke "load8_u" (i32.const 0)) (i32.const 0))
20(assert_return (invoke "load8_u" (i32.const 1)) (i32.const 0))
21(assert_return (invoke "load8_u" (i32.const 2)) (i32.const 3))
22(assert_return (invoke "load8_u" (i32.const 3)) (i32.const 1))
23(assert_return (invoke "load8_u" (i32.const 4)) (i32.const 4))
24(assert_return (invoke "load8_u" (i32.const 5)) (i32.const 1))
25(assert_return (invoke "load8_u" (i32.const 6)) (i32.const 0))
26(assert_return (invoke "load8_u" (i32.const 7)) (i32.const 0))
27(assert_return (invoke "load8_u" (i32.const 8)) (i32.const 0))
28(assert_return (invoke "load8_u" (i32.const 9)) (i32.const 0))
29(assert_return (invoke "load8_u" (i32.const 10)) (i32.const 0))
30(assert_return (invoke "load8_u" (i32.const 11)) (i32.const 0))
31(assert_return (invoke "load8_u" (i32.const 12)) (i32.const 7))
32(assert_return (invoke "load8_u" (i32.const 13)) (i32.const 5))
33(assert_return (invoke "load8_u" (i32.const 14)) (i32.const 2))
34(assert_return (invoke "load8_u" (i32.const 15)) (i32.const 3))
35(assert_return (invoke "load8_u" (i32.const 16)) (i32.const 6))
36(assert_return (invoke "load8_u" (i32.const 17)) (i32.const 0))
37(assert_return (invoke "load8_u" (i32.const 18)) (i32.const 0))
38(assert_return (invoke "load8_u" (i32.const 19)) (i32.const 0))
39(assert_return (invoke "load8_u" (i32.const 20)) (i32.const 0))
40(assert_return (invoke "load8_u" (i32.const 21)) (i32.const 0))
41(assert_return (invoke "load8_u" (i32.const 22)) (i32.const 0))
42(assert_return (invoke "load8_u" (i32.const 23)) (i32.const 0))
43(assert_return (invoke "load8_u" (i32.const 24)) (i32.const 0))
44(assert_return (invoke "load8_u" (i32.const 25)) (i32.const 0))
45(assert_return (invoke "load8_u" (i32.const 26)) (i32.const 0))
46(assert_return (invoke "load8_u" (i32.const 27)) (i32.const 0))
47(assert_return (invoke "load8_u" (i32.const 28)) (i32.const 0))
48(assert_return (invoke "load8_u" (i32.const 29)) (i32.const 0))
49
50(module
51 (memory (export "memory0") 1 1)
52 (data (i32.const 2) "\03\01\04\01")
53 (data "\02\07\01\08")
54 (data (i32.const 12) "\07\05\02\03\06")
55 (data "\05\09\02\07\06")
56 (func (export "test")
57 (memory.init 1 (i32.const 7) (i32.const 0) (i32.const 4)))
58 (func (export "load8_u") (param i32) (result i32)
59 (i32.load8_u (local.get 0))))
60
61(invoke "test")
62
63(assert_return (invoke "load8_u" (i32.const 0)) (i32.const 0))
64(assert_return (invoke "load8_u" (i32.const 1)) (i32.const 0))
65(assert_return (invoke "load8_u" (i32.const 2)) (i32.const 3))
66(assert_return (invoke "load8_u" (i32.const 3)) (i32.const 1))
67(assert_return (invoke "load8_u" (i32.const 4)) (i32.const 4))
68(assert_return (invoke "load8_u" (i32.const 5)) (i32.const 1))
69(assert_return (invoke "load8_u" (i32.const 6)) (i32.const 0))
70(assert_return (invoke "load8_u" (i32.const 7)) (i32.const 2))
71(assert_return (invoke "load8_u" (i32.const 8)) (i32.const 7))
72(assert_return (invoke "load8_u" (i32.const 9)) (i32.const 1))
73(assert_return (invoke "load8_u" (i32.const 10)) (i32.const 8))
74(assert_return (invoke "load8_u" (i32.const 11)) (i32.const 0))
75(assert_return (invoke "load8_u" (i32.const 12)) (i32.const 7))
76(assert_return (invoke "load8_u" (i32.const 13)) (i32.const 5))
77(assert_return (invoke "load8_u" (i32.const 14)) (i32.const 2))
78(assert_return (invoke "load8_u" (i32.const 15)) (i32.const 3))
79(assert_return (invoke "load8_u" (i32.const 16)) (i32.const 6))
80(assert_return (invoke "load8_u" (i32.const 17)) (i32.const 0))
81(assert_return (invoke "load8_u" (i32.const 18)) (i32.const 0))
82(assert_return (invoke "load8_u" (i32.const 19)) (i32.const 0))
83(assert_return (invoke "load8_u" (i32.const 20)) (i32.const 0))
84(assert_return (invoke "load8_u" (i32.const 21)) (i32.const 0))
85(assert_return (invoke "load8_u" (i32.const 22)) (i32.const 0))
86(assert_return (invoke "load8_u" (i32.const 23)) (i32.const 0))
87(assert_return (invoke "load8_u" (i32.const 24)) (i32.const 0))
88(assert_return (invoke "load8_u" (i32.const 25)) (i32.const 0))
89(assert_return (invoke "load8_u" (i32.const 26)) (i32.const 0))
90(assert_return (invoke "load8_u" (i32.const 27)) (i32.const 0))
91(assert_return (invoke "load8_u" (i32.const 28)) (i32.const 0))
92(assert_return (invoke "load8_u" (i32.const 29)) (i32.const 0))
93
94(module
95 (memory (export "memory0") 1 1)
96 (data (i32.const 2) "\03\01\04\01")
97 (data "\02\07\01\08")
98 (data (i32.const 12) "\07\05\02\03\06")
99 (data "\05\09\02\07\06")
100 (func (export "test")
101 (memory.init 3 (i32.const 15) (i32.const 1) (i32.const 3)))
102 (func (export "load8_u") (param i32) (result i32)
103 (i32.load8_u (local.get 0))))
104
105(invoke "test")
106
107(assert_return (invoke "load8_u" (i32.const 0)) (i32.const 0))
108(assert_return (invoke "load8_u" (i32.const 1)) (i32.const 0))
109(assert_return (invoke "load8_u" (i32.const 2)) (i32.const 3))
110(assert_return (invoke "load8_u" (i32.const 3)) (i32.const 1))
111(assert_return (invoke "load8_u" (i32.const 4)) (i32.const 4))
112(assert_return (invoke "load8_u" (i32.const 5)) (i32.const 1))
113(assert_return (invoke "load8_u" (i32.const 6)) (i32.const 0))
114(assert_return (invoke "load8_u" (i32.const 7)) (i32.const 0))
115(assert_return (invoke "load8_u" (i32.const 8)) (i32.const 0))
116(assert_return (invoke "load8_u" (i32.const 9)) (i32.const 0))
117(assert_return (invoke "load8_u" (i32.const 10)) (i32.const 0))
118(assert_return (invoke "load8_u" (i32.const 11)) (i32.const 0))
119(assert_return (invoke "load8_u" (i32.const 12)) (i32.const 7))
120(assert_return (invoke "load8_u" (i32.const 13)) (i32.const 5))
121(assert_return (invoke "load8_u" (i32.const 14)) (i32.const 2))
122(assert_return (invoke "load8_u" (i32.const 15)) (i32.const 9))
123(assert_return (invoke "load8_u" (i32.const 16)) (i32.const 2))
124(assert_return (invoke "load8_u" (i32.const 17)) (i32.const 7))
125(assert_return (invoke "load8_u" (i32.const 18)) (i32.const 0))
126(assert_return (invoke "load8_u" (i32.const 19)) (i32.const 0))
127(assert_return (invoke "load8_u" (i32.const 20)) (i32.const 0))
128(assert_return (invoke "load8_u" (i32.const 21)) (i32.const 0))
129(assert_return (invoke "load8_u" (i32.const 22)) (i32.const 0))
130(assert_return (invoke "load8_u" (i32.const 23)) (i32.const 0))
131(assert_return (invoke "load8_u" (i32.const 24)) (i32.const 0))
132(assert_return (invoke "load8_u" (i32.const 25)) (i32.const 0))
133(assert_return (invoke "load8_u" (i32.const 26)) (i32.const 0))
134(assert_return (invoke "load8_u" (i32.const 27)) (i32.const 0))
135(assert_return (invoke "load8_u" (i32.const 28)) (i32.const 0))
136(assert_return (invoke "load8_u" (i32.const 29)) (i32.const 0))
137
138(module
139 (memory (export "memory0") 1 1)
140 (data (i32.const 2) "\03\01\04\01")
141 (data "\02\07\01\08")
142 (data (i32.const 12) "\07\05\02\03\06")
143 (data "\05\09\02\07\06")
144 (func (export "test")
145 (memory.init 1 (i32.const 7) (i32.const 0) (i32.const 4))
146 (data.drop 1)
147 (memory.init 3 (i32.const 15) (i32.const 1) (i32.const 3))
148 (data.drop 3)
149 (memory.copy (i32.const 20) (i32.const 15) (i32.const 5))
150 (memory.copy (i32.const 21) (i32.const 29) (i32.const 1))
151 (memory.copy (i32.const 24) (i32.const 10) (i32.const 1))
152 (memory.copy (i32.const 13) (i32.const 11) (i32.const 4))
153 (memory.copy (i32.const 19) (i32.const 20) (i32.const 5)))
154 (func (export "load8_u") (param i32) (result i32)
155 (i32.load8_u (local.get 0))))
156
157(invoke "test")
158
159(assert_return (invoke "load8_u" (i32.const 0)) (i32.const 0))
160(assert_return (invoke "load8_u" (i32.const 1)) (i32.const 0))
161(assert_return (invoke "load8_u" (i32.const 2)) (i32.const 3))
162(assert_return (invoke "load8_u" (i32.const 3)) (i32.const 1))
163(assert_return (invoke "load8_u" (i32.const 4)) (i32.const 4))
164(assert_return (invoke "load8_u" (i32.const 5)) (i32.const 1))
165(assert_return (invoke "load8_u" (i32.const 6)) (i32.const 0))
166(assert_return (invoke "load8_u" (i32.const 7)) (i32.const 2))
167(assert_return (invoke "load8_u" (i32.const 8)) (i32.const 7))
168(assert_return (invoke "load8_u" (i32.const 9)) (i32.const 1))
169(assert_return (invoke "load8_u" (i32.const 10)) (i32.const 8))
170(assert_return (invoke "load8_u" (i32.const 11)) (i32.const 0))
171(assert_return (invoke "load8_u" (i32.const 12)) (i32.const 7))
172(assert_return (invoke "load8_u" (i32.const 13)) (i32.const 0))
173(assert_return (invoke "load8_u" (i32.const 14)) (i32.const 7))
174(assert_return (invoke "load8_u" (i32.const 15)) (i32.const 5))
175(assert_return (invoke "load8_u" (i32.const 16)) (i32.const 2))
176(assert_return (invoke "load8_u" (i32.const 17)) (i32.const 7))
177(assert_return (invoke "load8_u" (i32.const 18)) (i32.const 0))
178(assert_return (invoke "load8_u" (i32.const 19)) (i32.const 9))
179(assert_return (invoke "load8_u" (i32.const 20)) (i32.const 0))
180(assert_return (invoke "load8_u" (i32.const 21)) (i32.const 7))
181(assert_return (invoke "load8_u" (i32.const 22)) (i32.const 0))
182(assert_return (invoke "load8_u" (i32.const 23)) (i32.const 8))
183(assert_return (invoke "load8_u" (i32.const 24)) (i32.const 8))
184(assert_return (invoke "load8_u" (i32.const 25)) (i32.const 0))
185(assert_return (invoke "load8_u" (i32.const 26)) (i32.const 0))
186(assert_return (invoke "load8_u" (i32.const 27)) (i32.const 0))
187(assert_return (invoke "load8_u" (i32.const 28)) (i32.const 0))
188(assert_return (invoke "load8_u" (i32.const 29)) (i32.const 0))
189(assert_invalid
190 (module
191 (func (export "test")
192 (data.drop 0)))
193 "unknown data segment")
194
195(assert_invalid
196 (module
197 (memory 1)
198 (data "\37")
199 (func (export "test")
200 (data.drop 4)))
201 "unknown data segment")
202
203(module
204 (memory 1)
205 (data "\37")
206 (func (export "test")
207 (data.drop 0)
208 (data.drop 0)))
209(invoke "test")
210
211(module
212 (memory 1)
213 (data "\37")
214 (func (export "test")
215 (data.drop 0)
216 (memory.init 0 (i32.const 1234) (i32.const 1) (i32.const 1))))
217(assert_trap (invoke "test") "out of bounds memory access")
218
219(module
220 (memory 1)
221 (data (i32.const 0) "\37")
222 (func (export "test")
223 (memory.init 0 (i32.const 1234) (i32.const 1) (i32.const 1))))
224(assert_trap (invoke "test") "out of bounds memory access")
225
226(assert_invalid
227 (module
228 (func (export "test")
229 (memory.init 1 (i32.const 1234) (i32.const 1) (i32.const 1))))
230 "unknown memory 0")
231
232(assert_invalid
233 (module
234 (memory 1)
235 (data "\37")
236 (func (export "test")
237 (memory.init 1 (i32.const 1234) (i32.const 1) (i32.const 1))))
238 "unknown data segment 1")
239
240(module
241 (memory 1)
242 (data "\37")
243 (func (export "test")
244 (memory.init 0 (i32.const 1) (i32.const 0) (i32.const 1))
245 (memory.init 0 (i32.const 1) (i32.const 0) (i32.const 1))))
246(invoke "test")
247
248(module
249 (memory 1)
250 (data "\37")
251 (func (export "test")
252 (memory.init 0 (i32.const 1234) (i32.const 0) (i32.const 5))))
253(assert_trap (invoke "test") "out of bounds memory access")
254
255(module
256 (memory 1)
257 (data "\37")
258 (func (export "test")
259 (memory.init 0 (i32.const 1234) (i32.const 2) (i32.const 3))))
260(assert_trap (invoke "test") "out of bounds memory access")
261
262(module
263 (memory 1)
264 (data "\37")
265 (func (export "test")
266 (memory.init 0 (i32.const 0xFFFE) (i32.const 1) (i32.const 3))))
267(assert_trap (invoke "test") "out of bounds memory access")
268
269(module
270 (memory 1)
271 (data "\37")
272 (func (export "test")
273 (memory.init 0 (i32.const 1234) (i32.const 4) (i32.const 0))))
274(assert_trap (invoke "test") "out of bounds memory access")
275
276(module
277 (memory 1)
278 (data "\37")
279 (func (export "test")
280 (memory.init 0 (i32.const 1234) (i32.const 1) (i32.const 0))))
281(invoke "test")
282
283(module
284 (memory 1)
285 (data "\37")
286 (func (export "test")
287 (memory.init 0 (i32.const 0x10001) (i32.const 0) (i32.const 0))))
288(assert_trap (invoke "test") "out of bounds memory access")
289
290(module
291 (memory 1)
292 (data "\37")
293 (func (export "test")
294 (memory.init 0 (i32.const 0x10000) (i32.const 0) (i32.const 0))))
295(invoke "test")
296
297(module
298 (memory 1)
299 (data "\37")
300 (func (export "test")
301 (memory.init 0 (i32.const 0x10000) (i32.const 1) (i32.const 0))))
302(invoke "test")
303
304(module
305 (memory 1)
306 (data "\37")
307 (func (export "test")
308 (memory.init 0 (i32.const 0x10001) (i32.const 4) (i32.const 0))))
309(assert_trap (invoke "test") "out of bounds memory access")
310
311(assert_invalid
312 (module
313 (memory 1)
314 (data "\37")
315 (func (export "test")
316 (memory.init 0 (i32.const 1) (i32.const 1) (f32.const 1))))
317 "type mismatch")
318
319(assert_invalid
320 (module
321 (memory 1)
322 (data "\37")
323 (func (export "test")
324 (memory.init 0 (i32.const 1) (i32.const 1) (i64.const 1))))
325 "type mismatch")
326
327(assert_invalid
328 (module
329 (memory 1)
330 (data "\37")
331 (func (export "test")
332 (memory.init 0 (i32.const 1) (i32.const 1) (f64.const 1))))
333 "type mismatch")
334
335(assert_invalid
336 (module
337 (memory 1)
338 (data "\37")
339 (func (export "test")
340 (memory.init 0 (i32.const 1) (f32.const 1) (i32.const 1))))
341 "type mismatch")
342
343(assert_invalid
344 (module
345 (memory 1)
346 (data "\37")
347 (func (export "test")
348 (memory.init 0 (i32.const 1) (f32.const 1) (f32.const 1))))
349 "type mismatch")
350
351(assert_invalid
352 (module
353 (memory 1)
354 (data "\37")
355 (func (export "test")
356 (memory.init 0 (i32.const 1) (f32.const 1) (i64.const 1))))
357 "type mismatch")
358
359(assert_invalid
360 (module
361 (memory 1)
362 (data "\37")
363 (func (export "test")
364 (memory.init 0 (i32.const 1) (f32.const 1) (f64.const 1))))
365 "type mismatch")
366
367(assert_invalid
368 (module
369 (memory 1)
370 (data "\37")
371 (func (export "test")
372 (memory.init 0 (i32.const 1) (i64.const 1) (i32.const 1))))
373 "type mismatch")
374
375(assert_invalid
376 (module
377 (memory 1)
378 (data "\37")
379 (func (export "test")
380 (memory.init 0 (i32.const 1) (i64.const 1) (f32.const 1))))
381 "type mismatch")
382
383(assert_invalid
384 (module
385 (memory 1)
386 (data "\37")
387 (func (export "test")
388 (memory.init 0 (i32.const 1) (i64.const 1) (i64.const 1))))
389 "type mismatch")
390
391(assert_invalid
392 (module
393 (memory 1)
394 (data "\37")
395 (func (export "test")
396 (memory.init 0 (i32.const 1) (i64.const 1) (f64.const 1))))
397 "type mismatch")
398
399(assert_invalid
400 (module
401 (memory 1)
402 (data "\37")
403 (func (export "test")
404 (memory.init 0 (i32.const 1) (f64.const 1) (i32.const 1))))
405 "type mismatch")
406
407(assert_invalid
408 (module
409 (memory 1)
410 (data "\37")
411 (func (export "test")
412 (memory.init 0 (i32.const 1) (f64.const 1) (f32.const 1))))
413 "type mismatch")
414
415(assert_invalid
416 (module
417 (memory 1)
418 (data "\37")
419 (func (export "test")
420 (memory.init 0 (i32.const 1) (f64.const 1) (i64.const 1))))
421 "type mismatch")
422
423(assert_invalid
424 (module
425 (memory 1)
426 (data "\37")
427 (func (export "test")
428 (memory.init 0 (i32.const 1) (f64.const 1) (f64.const 1))))
429 "type mismatch")
430
431(assert_invalid
432 (module
433 (memory 1)
434 (data "\37")
435 (func (export "test")
436 (memory.init 0 (f32.const 1) (i32.const 1) (i32.const 1))))
437 "type mismatch")
438
439(assert_invalid
440 (module
441 (memory 1)
442 (data "\37")
443 (func (export "test")
444 (memory.init 0 (f32.const 1) (i32.const 1) (f32.const 1))))
445 "type mismatch")
446
447(assert_invalid
448 (module
449 (memory 1)
450 (data "\37")
451 (func (export "test")
452 (memory.init 0 (f32.const 1) (i32.const 1) (i64.const 1))))
453 "type mismatch")
454
455(assert_invalid
456 (module
457 (memory 1)
458 (data "\37")
459 (func (export "test")
460 (memory.init 0 (f32.const 1) (i32.const 1) (f64.const 1))))
461 "type mismatch")
462
463(assert_invalid
464 (module
465 (memory 1)
466 (data "\37")
467 (func (export "test")
468 (memory.init 0 (f32.const 1) (f32.const 1) (i32.const 1))))
469 "type mismatch")
470
471(assert_invalid
472 (module
473 (memory 1)
474 (data "\37")
475 (func (export "test")
476 (memory.init 0 (f32.const 1) (f32.const 1) (f32.const 1))))
477 "type mismatch")
478
479(assert_invalid
480 (module
481 (memory 1)
482 (data "\37")
483 (func (export "test")
484 (memory.init 0 (f32.const 1) (f32.const 1) (i64.const 1))))
485 "type mismatch")
486
487(assert_invalid
488 (module
489 (memory 1)
490 (data "\37")
491 (func (export "test")
492 (memory.init 0 (f32.const 1) (f32.const 1) (f64.const 1))))
493 "type mismatch")
494
495(assert_invalid
496 (module
497 (memory 1)
498 (data "\37")
499 (func (export "test")
500 (memory.init 0 (f32.const 1) (i64.const 1) (i32.const 1))))
501 "type mismatch")
502
503(assert_invalid
504 (module
505 (memory 1)
506 (data "\37")
507 (func (export "test")
508 (memory.init 0 (f32.const 1) (i64.const 1) (f32.const 1))))
509 "type mismatch")
510
511(assert_invalid
512 (module
513 (memory 1)
514 (data "\37")
515 (func (export "test")
516 (memory.init 0 (f32.const 1) (i64.const 1) (i64.const 1))))
517 "type mismatch")
518
519(assert_invalid
520 (module
521 (memory 1)
522 (data "\37")
523 (func (export "test")
524 (memory.init 0 (f32.const 1) (i64.const 1) (f64.const 1))))
525 "type mismatch")
526
527(assert_invalid
528 (module
529 (memory 1)
530 (data "\37")
531 (func (export "test")
532 (memory.init 0 (f32.const 1) (f64.const 1) (i32.const 1))))
533 "type mismatch")
534
535(assert_invalid
536 (module
537 (memory 1)
538 (data "\37")
539 (func (export "test")
540 (memory.init 0 (f32.const 1) (f64.const 1) (f32.const 1))))
541 "type mismatch")
542
543(assert_invalid
544 (module
545 (memory 1)
546 (data "\37")
547 (func (export "test")
548 (memory.init 0 (f32.const 1) (f64.const 1) (i64.const 1))))
549 "type mismatch")
550
551(assert_invalid
552 (module
553 (memory 1)
554 (data "\37")
555 (func (export "test")
556 (memory.init 0 (f32.const 1) (f64.const 1) (f64.const 1))))
557 "type mismatch")
558
559(assert_invalid
560 (module
561 (memory 1)
562 (data "\37")
563 (func (export "test")
564 (memory.init 0 (i64.const 1) (i32.const 1) (i32.const 1))))
565 "type mismatch")
566
567(assert_invalid
568 (module
569 (memory 1)
570 (data "\37")
571 (func (export "test")
572 (memory.init 0 (i64.const 1) (i32.const 1) (f32.const 1))))
573 "type mismatch")
574
575(assert_invalid
576 (module
577 (memory 1)
578 (data "\37")
579 (func (export "test")
580 (memory.init 0 (i64.const 1) (i32.const 1) (i64.const 1))))
581 "type mismatch")
582
583(assert_invalid
584 (module
585 (memory 1)
586 (data "\37")
587 (func (export "test")
588 (memory.init 0 (i64.const 1) (i32.const 1) (f64.const 1))))
589 "type mismatch")
590
591(assert_invalid
592 (module
593 (memory 1)
594 (data "\37")
595 (func (export "test")
596 (memory.init 0 (i64.const 1) (f32.const 1) (i32.const 1))))
597 "type mismatch")
598
599(assert_invalid
600 (module
601 (memory 1)
602 (data "\37")
603 (func (export "test")
604 (memory.init 0 (i64.const 1) (f32.const 1) (f32.const 1))))
605 "type mismatch")
606
607(assert_invalid
608 (module
609 (memory 1)
610 (data "\37")
611 (func (export "test")
612 (memory.init 0 (i64.const 1) (f32.const 1) (i64.const 1))))
613 "type mismatch")
614
615(assert_invalid
616 (module
617 (memory 1)
618 (data "\37")
619 (func (export "test")
620 (memory.init 0 (i64.const 1) (f32.const 1) (f64.const 1))))
621 "type mismatch")
622
623(assert_invalid
624 (module
625 (memory 1)
626 (data "\37")
627 (func (export "test")
628 (memory.init 0 (i64.const 1) (i64.const 1) (i32.const 1))))
629 "type mismatch")
630
631(assert_invalid
632 (module
633 (memory 1)
634 (data "\37")
635 (func (export "test")
636 (memory.init 0 (i64.const 1) (i64.const 1) (f32.const 1))))
637 "type mismatch")
638
639(assert_invalid
640 (module
641 (memory 1)
642 (data "\37")
643 (func (export "test")
644 (memory.init 0 (i64.const 1) (i64.const 1) (i64.const 1))))
645 "type mismatch")
646
647(assert_invalid
648 (module
649 (memory 1)
650 (data "\37")
651 (func (export "test")
652 (memory.init 0 (i64.const 1) (i64.const 1) (f64.const 1))))
653 "type mismatch")
654
655(assert_invalid
656 (module
657 (memory 1)
658 (data "\37")
659 (func (export "test")
660 (memory.init 0 (i64.const 1) (f64.const 1) (i32.const 1))))
661 "type mismatch")
662
663(assert_invalid
664 (module
665 (memory 1)
666 (data "\37")
667 (func (export "test")
668 (memory.init 0 (i64.const 1) (f64.const 1) (f32.const 1))))
669 "type mismatch")
670
671(assert_invalid
672 (module
673 (memory 1)
674 (data "\37")
675 (func (export "test")
676 (memory.init 0 (i64.const 1) (f64.const 1) (i64.const 1))))
677 "type mismatch")
678
679(assert_invalid
680 (module
681 (memory 1)
682 (data "\37")
683 (func (export "test")
684 (memory.init 0 (i64.const 1) (f64.const 1) (f64.const 1))))
685 "type mismatch")
686
687(assert_invalid
688 (module
689 (memory 1)
690 (data "\37")
691 (func (export "test")
692 (memory.init 0 (f64.const 1) (i32.const 1) (i32.const 1))))
693 "type mismatch")
694
695(assert_invalid
696 (module
697 (memory 1)
698 (data "\37")
699 (func (export "test")
700 (memory.init 0 (f64.const 1) (i32.const 1) (f32.const 1))))
701 "type mismatch")
702
703(assert_invalid
704 (module
705 (memory 1)
706 (data "\37")
707 (func (export "test")
708 (memory.init 0 (f64.const 1) (i32.const 1) (i64.const 1))))
709 "type mismatch")
710
711(assert_invalid
712 (module
713 (memory 1)
714 (data "\37")
715 (func (export "test")
716 (memory.init 0 (f64.const 1) (i32.const 1) (f64.const 1))))
717 "type mismatch")
718
719(assert_invalid
720 (module
721 (memory 1)
722 (data "\37")
723 (func (export "test")
724 (memory.init 0 (f64.const 1) (f32.const 1) (i32.const 1))))
725 "type mismatch")
726
727(assert_invalid
728 (module
729 (memory 1)
730 (data "\37")
731 (func (export "test")
732 (memory.init 0 (f64.const 1) (f32.const 1) (f32.const 1))))
733 "type mismatch")
734
735(assert_invalid
736 (module
737 (memory 1)
738 (data "\37")
739 (func (export "test")
740 (memory.init 0 (f64.const 1) (f32.const 1) (i64.const 1))))
741 "type mismatch")
742
743(assert_invalid
744 (module
745 (memory 1)
746 (data "\37")
747 (func (export "test")
748 (memory.init 0 (f64.const 1) (f32.const 1) (f64.const 1))))
749 "type mismatch")
750
751(assert_invalid
752 (module
753 (memory 1)
754 (data "\37")
755 (func (export "test")
756 (memory.init 0 (f64.const 1) (i64.const 1) (i32.const 1))))
757 "type mismatch")
758
759(assert_invalid
760 (module
761 (memory 1)
762 (data "\37")
763 (func (export "test")
764 (memory.init 0 (f64.const 1) (i64.const 1) (f32.const 1))))
765 "type mismatch")
766
767(assert_invalid
768 (module
769 (memory 1)
770 (data "\37")
771 (func (export "test")
772 (memory.init 0 (f64.const 1) (i64.const 1) (i64.const 1))))
773 "type mismatch")
774
775(assert_invalid
776 (module
777 (memory 1)
778 (data "\37")
779 (func (export "test")
780 (memory.init 0 (f64.const 1) (i64.const 1) (f64.const 1))))
781 "type mismatch")
782
783(assert_invalid
784 (module
785 (memory 1)
786 (data "\37")
787 (func (export "test")
788 (memory.init 0 (f64.const 1) (f64.const 1) (i32.const 1))))
789 "type mismatch")
790
791(assert_invalid
792 (module
793 (memory 1)
794 (data "\37")
795 (func (export "test")
796 (memory.init 0 (f64.const 1) (f64.const 1) (f32.const 1))))
797 "type mismatch")
798
799(assert_invalid
800 (module
801 (memory 1)
802 (data "\37")
803 (func (export "test")
804 (memory.init 0 (f64.const 1) (f64.const 1) (i64.const 1))))
805 "type mismatch")
806
807(assert_invalid
808 (module
809 (memory 1)
810 (data "\37")
811 (func (export "test")
812 (memory.init 0 (f64.const 1) (f64.const 1) (f64.const 1))))
813 "type mismatch")
814
815(module
816 (memory 1 1 )
817 (data "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
818
819 (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
820 (loop $cont
821 (if (i32.eq (local.get $from) (local.get $to))
822 (then
823 (return (i32.const -1))))
824 (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
825 (then
826 (local.set $from (i32.add (local.get $from) (i32.const 1)))
827 (br $cont))))
828 (return (local.get $from)))
829
830 (func (export "run") (param $offs i32) (param $len i32)
831 (memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
832
833(assert_trap (invoke "run" (i32.const 65528) (i32.const 16))
834 "out of bounds memory access")
835
836(assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
837 (i32.const -1))
838(module
839 (memory 1 1 )
840 (data "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
841
842 (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
843 (loop $cont
844 (if (i32.eq (local.get $from) (local.get $to))
845 (then
846 (return (i32.const -1))))
847 (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
848 (then
849 (local.set $from (i32.add (local.get $from) (i32.const 1)))
850 (br $cont))))
851 (return (local.get $from)))
852
853 (func (export "run") (param $offs i32) (param $len i32)
854 (memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
855
856(assert_trap (invoke "run" (i32.const 65527) (i32.const 16))
857 "out of bounds memory access")
858
859(assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
860 (i32.const -1))
861(module
862 (memory 1 1 )
863 (data "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
864
865 (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
866 (loop $cont
867 (if (i32.eq (local.get $from) (local.get $to))
868 (then
869 (return (i32.const -1))))
870 (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
871 (then
872 (local.set $from (i32.add (local.get $from) (i32.const 1)))
873 (br $cont))))
874 (return (local.get $from)))
875
876 (func (export "run") (param $offs i32) (param $len i32)
877 (memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
878
879(assert_trap (invoke "run" (i32.const 65472) (i32.const 30))
880 "out of bounds memory access")
881
882(assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
883 (i32.const -1))
884(module
885 (memory 1 1 )
886 (data "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
887
888 (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
889 (loop $cont
890 (if (i32.eq (local.get $from) (local.get $to))
891 (then
892 (return (i32.const -1))))
893 (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
894 (then
895 (local.set $from (i32.add (local.get $from) (i32.const 1)))
896 (br $cont))))
897 (return (local.get $from)))
898
899 (func (export "run") (param $offs i32) (param $len i32)
900 (memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
901
902(assert_trap (invoke "run" (i32.const 65473) (i32.const 31))
903 "out of bounds memory access")
904
905(assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
906 (i32.const -1))
907(module
908 (memory 1 )
909 (data "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
910
911 (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
912 (loop $cont
913 (if (i32.eq (local.get $from) (local.get $to))
914 (then
915 (return (i32.const -1))))
916 (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
917 (then
918 (local.set $from (i32.add (local.get $from) (i32.const 1)))
919 (br $cont))))
920 (return (local.get $from)))
921
922 (func (export "run") (param $offs i32) (param $len i32)
923 (memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
924
925(assert_trap (invoke "run" (i32.const 65528) (i32.const 4294967040))
926 "out of bounds memory access")
927
928(assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
929 (i32.const -1))
930(module
931 (memory 1 )
932 (data "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
933
934 (func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
935 (loop $cont
936 (if (i32.eq (local.get $from) (local.get $to))
937 (then
938 (return (i32.const -1))))
939 (if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
940 (then
941 (local.set $from (i32.add (local.get $from) (i32.const 1)))
942 (br $cont))))
943 (return (local.get $from)))
944
945 (func (export "run") (param $offs i32) (param $len i32)
946 (memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
947
948(assert_trap (invoke "run" (i32.const 0) (i32.const 4294967292))
949 "out of bounds memory access")
950
951(assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
952 (i32.const -1))
953
954(module
955 (memory 1)
956 ;; 65 data segments. 64 is the smallest positive number that is encoded
957 ;; differently as a signed LEB.
958 (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
959 (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
960 (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
961 (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
962 (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
963 (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
964 (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
965 (data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
966 (data "")
967 (func (memory.init 64 (i32.const 0) (i32.const 0) (i32.const 0))))
View as plain text