github.com/tetratelabs/wazero@v1.7.3-0.20240513003603-48f702e154b5/internal/integration_test/spectest/v2/testdata/memory_init.wast (about) 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))))