3c7bc08aec
These are added as mjsunit tests for now since they haven't been merged to the spec repo. When that happens, the wasm-spec-tests testsuite can be updated to include these tests, and the tests in this directory can be removed. This CL also adds the test/mjsunit/wasm/bulk-memory-spec directory to a list of directories that aren't checked for copyright (since these files are auto-generated). Bug: v8:7747 Change-Id: I906f2ca45f497a6728f94afb9b3330971e1d3fd5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1600363 Commit-Queue: Ben Smith <binji@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#61395}
948 lines
29 KiB
Plaintext
948 lines
29 KiB
Plaintext
;;
|
|
;; Generated by ../meta/generate_memory_init.js
|
|
;;
|
|
|
|
(module
|
|
(memory (export "memory0") 1 1)
|
|
(data (i32.const 2) "\03\01\04\01")
|
|
(data passive "\02\07\01\08")
|
|
(data (i32.const 12) "\07\05\02\03\06")
|
|
(data passive "\05\09\02\07\06")
|
|
(func (export "test")
|
|
(nop))
|
|
(func (export "load8_u") (param i32) (result i32)
|
|
(i32.load8_u (local.get 0))))
|
|
|
|
(invoke "test")
|
|
|
|
(assert_return (invoke "load8_u" (i32.const 0)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 1)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 2)) (i32.const 3))
|
|
(assert_return (invoke "load8_u" (i32.const 3)) (i32.const 1))
|
|
(assert_return (invoke "load8_u" (i32.const 4)) (i32.const 4))
|
|
(assert_return (invoke "load8_u" (i32.const 5)) (i32.const 1))
|
|
(assert_return (invoke "load8_u" (i32.const 6)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 7)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 8)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 9)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 10)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 11)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 12)) (i32.const 7))
|
|
(assert_return (invoke "load8_u" (i32.const 13)) (i32.const 5))
|
|
(assert_return (invoke "load8_u" (i32.const 14)) (i32.const 2))
|
|
(assert_return (invoke "load8_u" (i32.const 15)) (i32.const 3))
|
|
(assert_return (invoke "load8_u" (i32.const 16)) (i32.const 6))
|
|
(assert_return (invoke "load8_u" (i32.const 17)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 18)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 19)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 20)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 21)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 22)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 23)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 24)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 25)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 26)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 27)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 28)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 29)) (i32.const 0))
|
|
|
|
(module
|
|
(memory (export "memory0") 1 1)
|
|
(data (i32.const 2) "\03\01\04\01")
|
|
(data passive "\02\07\01\08")
|
|
(data (i32.const 12) "\07\05\02\03\06")
|
|
(data passive "\05\09\02\07\06")
|
|
(func (export "test")
|
|
(memory.init 1 (i32.const 7) (i32.const 0) (i32.const 4)))
|
|
(func (export "load8_u") (param i32) (result i32)
|
|
(i32.load8_u (local.get 0))))
|
|
|
|
(invoke "test")
|
|
|
|
(assert_return (invoke "load8_u" (i32.const 0)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 1)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 2)) (i32.const 3))
|
|
(assert_return (invoke "load8_u" (i32.const 3)) (i32.const 1))
|
|
(assert_return (invoke "load8_u" (i32.const 4)) (i32.const 4))
|
|
(assert_return (invoke "load8_u" (i32.const 5)) (i32.const 1))
|
|
(assert_return (invoke "load8_u" (i32.const 6)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 7)) (i32.const 2))
|
|
(assert_return (invoke "load8_u" (i32.const 8)) (i32.const 7))
|
|
(assert_return (invoke "load8_u" (i32.const 9)) (i32.const 1))
|
|
(assert_return (invoke "load8_u" (i32.const 10)) (i32.const 8))
|
|
(assert_return (invoke "load8_u" (i32.const 11)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 12)) (i32.const 7))
|
|
(assert_return (invoke "load8_u" (i32.const 13)) (i32.const 5))
|
|
(assert_return (invoke "load8_u" (i32.const 14)) (i32.const 2))
|
|
(assert_return (invoke "load8_u" (i32.const 15)) (i32.const 3))
|
|
(assert_return (invoke "load8_u" (i32.const 16)) (i32.const 6))
|
|
(assert_return (invoke "load8_u" (i32.const 17)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 18)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 19)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 20)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 21)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 22)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 23)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 24)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 25)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 26)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 27)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 28)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 29)) (i32.const 0))
|
|
|
|
(module
|
|
(memory (export "memory0") 1 1)
|
|
(data (i32.const 2) "\03\01\04\01")
|
|
(data passive "\02\07\01\08")
|
|
(data (i32.const 12) "\07\05\02\03\06")
|
|
(data passive "\05\09\02\07\06")
|
|
(func (export "test")
|
|
(memory.init 3 (i32.const 15) (i32.const 1) (i32.const 3)))
|
|
(func (export "load8_u") (param i32) (result i32)
|
|
(i32.load8_u (local.get 0))))
|
|
|
|
(invoke "test")
|
|
|
|
(assert_return (invoke "load8_u" (i32.const 0)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 1)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 2)) (i32.const 3))
|
|
(assert_return (invoke "load8_u" (i32.const 3)) (i32.const 1))
|
|
(assert_return (invoke "load8_u" (i32.const 4)) (i32.const 4))
|
|
(assert_return (invoke "load8_u" (i32.const 5)) (i32.const 1))
|
|
(assert_return (invoke "load8_u" (i32.const 6)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 7)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 8)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 9)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 10)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 11)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 12)) (i32.const 7))
|
|
(assert_return (invoke "load8_u" (i32.const 13)) (i32.const 5))
|
|
(assert_return (invoke "load8_u" (i32.const 14)) (i32.const 2))
|
|
(assert_return (invoke "load8_u" (i32.const 15)) (i32.const 9))
|
|
(assert_return (invoke "load8_u" (i32.const 16)) (i32.const 2))
|
|
(assert_return (invoke "load8_u" (i32.const 17)) (i32.const 7))
|
|
(assert_return (invoke "load8_u" (i32.const 18)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 19)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 20)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 21)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 22)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 23)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 24)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 25)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 26)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 27)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 28)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 29)) (i32.const 0))
|
|
|
|
(module
|
|
(memory (export "memory0") 1 1)
|
|
(data (i32.const 2) "\03\01\04\01")
|
|
(data passive "\02\07\01\08")
|
|
(data (i32.const 12) "\07\05\02\03\06")
|
|
(data passive "\05\09\02\07\06")
|
|
(func (export "test")
|
|
(memory.init 1 (i32.const 7) (i32.const 0) (i32.const 4))
|
|
(data.drop 1)
|
|
(memory.init 3 (i32.const 15) (i32.const 1) (i32.const 3))
|
|
(data.drop 3)
|
|
(memory.copy (i32.const 20) (i32.const 15) (i32.const 5))
|
|
(memory.copy (i32.const 21) (i32.const 29) (i32.const 1))
|
|
(memory.copy (i32.const 24) (i32.const 10) (i32.const 1))
|
|
(memory.copy (i32.const 13) (i32.const 11) (i32.const 4))
|
|
(memory.copy (i32.const 19) (i32.const 20) (i32.const 5)))
|
|
(func (export "load8_u") (param i32) (result i32)
|
|
(i32.load8_u (local.get 0))))
|
|
|
|
(invoke "test")
|
|
|
|
(assert_return (invoke "load8_u" (i32.const 0)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 1)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 2)) (i32.const 3))
|
|
(assert_return (invoke "load8_u" (i32.const 3)) (i32.const 1))
|
|
(assert_return (invoke "load8_u" (i32.const 4)) (i32.const 4))
|
|
(assert_return (invoke "load8_u" (i32.const 5)) (i32.const 1))
|
|
(assert_return (invoke "load8_u" (i32.const 6)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 7)) (i32.const 2))
|
|
(assert_return (invoke "load8_u" (i32.const 8)) (i32.const 7))
|
|
(assert_return (invoke "load8_u" (i32.const 9)) (i32.const 1))
|
|
(assert_return (invoke "load8_u" (i32.const 10)) (i32.const 8))
|
|
(assert_return (invoke "load8_u" (i32.const 11)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 12)) (i32.const 7))
|
|
(assert_return (invoke "load8_u" (i32.const 13)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 14)) (i32.const 7))
|
|
(assert_return (invoke "load8_u" (i32.const 15)) (i32.const 5))
|
|
(assert_return (invoke "load8_u" (i32.const 16)) (i32.const 2))
|
|
(assert_return (invoke "load8_u" (i32.const 17)) (i32.const 7))
|
|
(assert_return (invoke "load8_u" (i32.const 18)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 19)) (i32.const 9))
|
|
(assert_return (invoke "load8_u" (i32.const 20)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 21)) (i32.const 7))
|
|
(assert_return (invoke "load8_u" (i32.const 22)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 23)) (i32.const 8))
|
|
(assert_return (invoke "load8_u" (i32.const 24)) (i32.const 8))
|
|
(assert_return (invoke "load8_u" (i32.const 25)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 26)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 27)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 28)) (i32.const 0))
|
|
(assert_return (invoke "load8_u" (i32.const 29)) (i32.const 0))
|
|
(assert_invalid
|
|
(module
|
|
(func (export "test")
|
|
(data.drop 0)))
|
|
"unknown memory 0")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(data.drop 4)))
|
|
"unknown data segment")
|
|
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(data.drop 0)
|
|
(data.drop 0)))
|
|
(assert_trap (invoke "test") "data segment dropped")
|
|
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(data.drop 0)
|
|
(memory.init 0 (i32.const 1234) (i32.const 1) (i32.const 1))))
|
|
(assert_trap (invoke "test") "data segment dropped")
|
|
|
|
(module
|
|
(memory 1)
|
|
(data (i32.const 0) "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1234) (i32.const 1) (i32.const 1))))
|
|
(assert_trap (invoke "test") "data segment dropped")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(func (export "test")
|
|
(memory.init 1 (i32.const 1234) (i32.const 1) (i32.const 1))))
|
|
"unknown memory 0")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 1 (i32.const 1234) (i32.const 1) (i32.const 1))))
|
|
"unknown data segment 1")
|
|
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (i32.const 0) (i32.const 1))
|
|
(memory.init 0 (i32.const 1) (i32.const 0) (i32.const 1))))
|
|
(invoke "test")
|
|
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1234) (i32.const 0) (i32.const 5))))
|
|
(assert_trap (invoke "test") "out of bounds")
|
|
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1234) (i32.const 2) (i32.const 3))))
|
|
(assert_trap (invoke "test") "out of bounds")
|
|
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 0xFFFE) (i32.const 1) (i32.const 3))))
|
|
(assert_trap (invoke "test") "out of bounds")
|
|
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1234) (i32.const 4) (i32.const 0))))
|
|
(assert_trap (invoke "test") "out of bounds")
|
|
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 0x10000) (i32.const 2) (i32.const 0))))
|
|
(assert_trap (invoke "test") "out of bounds")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (i32.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (i32.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (i32.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (f32.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (f32.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (f32.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (f32.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (i64.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (i64.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (i64.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (i64.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (f64.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (f64.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (f64.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i32.const 1) (f64.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (i32.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (i32.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (i32.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (i32.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (f32.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (f32.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (f32.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (f32.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (i64.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (i64.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (i64.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (i64.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (f64.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (f64.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (f64.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f32.const 1) (f64.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (i32.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (i32.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (i32.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (i32.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (f32.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (f32.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (f32.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (f32.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (i64.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (i64.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (i64.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (i64.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (f64.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (f64.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (f64.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (i64.const 1) (f64.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (i32.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (i32.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (i32.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (i32.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (f32.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (f32.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (f32.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (f32.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (i64.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (i64.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (i64.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (i64.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (f64.const 1) (i32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (f64.const 1) (f32.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (f64.const 1) (i64.const 1))))
|
|
"type mismatch")
|
|
|
|
(assert_invalid
|
|
(module
|
|
(memory 1)
|
|
(data passive "\37")
|
|
(func (export "test")
|
|
(memory.init 0 (f64.const 1) (f64.const 1) (f64.const 1))))
|
|
"type mismatch")
|
|
|
|
(module
|
|
(memory 1 1 )
|
|
(data passive "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
|
|
|
|
(func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
|
|
(loop $cont
|
|
(if (i32.eq (local.get $from) (local.get $to))
|
|
(then
|
|
(return (i32.const -1))))
|
|
(if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
|
|
(then
|
|
(local.set $from (i32.add (local.get $from) (i32.const 1)))
|
|
(br $cont))))
|
|
(return (local.get $from)))
|
|
|
|
(func (export "run") (param $offs i32) (param $len i32)
|
|
(memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
|
|
|
|
(assert_trap (invoke "run" (i32.const 65528) (i32.const 16))
|
|
"out of bounds")
|
|
|
|
(assert_return (invoke "checkRange" (i32.const 0) (i32.const 65528) (i32.const 0))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 65528) (i32.const 65536) (i32.const 66))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 65536) (i32.const 65536) (i32.const 0))
|
|
(i32.const -1))
|
|
(module
|
|
(memory 1 1 )
|
|
(data passive "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
|
|
|
|
(func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
|
|
(loop $cont
|
|
(if (i32.eq (local.get $from) (local.get $to))
|
|
(then
|
|
(return (i32.const -1))))
|
|
(if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
|
|
(then
|
|
(local.set $from (i32.add (local.get $from) (i32.const 1)))
|
|
(br $cont))))
|
|
(return (local.get $from)))
|
|
|
|
(func (export "run") (param $offs i32) (param $len i32)
|
|
(memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
|
|
|
|
(assert_trap (invoke "run" (i32.const 65527) (i32.const 16))
|
|
"out of bounds")
|
|
|
|
(assert_return (invoke "checkRange" (i32.const 0) (i32.const 65527) (i32.const 0))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 65527) (i32.const 65536) (i32.const 66))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 65536) (i32.const 65536) (i32.const 0))
|
|
(i32.const -1))
|
|
(module
|
|
(memory 1 1 )
|
|
(data passive "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
|
|
|
|
(func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
|
|
(loop $cont
|
|
(if (i32.eq (local.get $from) (local.get $to))
|
|
(then
|
|
(return (i32.const -1))))
|
|
(if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
|
|
(then
|
|
(local.set $from (i32.add (local.get $from) (i32.const 1)))
|
|
(br $cont))))
|
|
(return (local.get $from)))
|
|
|
|
(func (export "run") (param $offs i32) (param $len i32)
|
|
(memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
|
|
|
|
(assert_trap (invoke "run" (i32.const 65472) (i32.const 30))
|
|
"out of bounds")
|
|
|
|
(assert_return (invoke "checkRange" (i32.const 0) (i32.const 65472) (i32.const 0))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 65472) (i32.const 65488) (i32.const 66))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 65488) (i32.const 65536) (i32.const 0))
|
|
(i32.const -1))
|
|
(module
|
|
(memory 1 1 )
|
|
(data passive "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
|
|
|
|
(func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
|
|
(loop $cont
|
|
(if (i32.eq (local.get $from) (local.get $to))
|
|
(then
|
|
(return (i32.const -1))))
|
|
(if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
|
|
(then
|
|
(local.set $from (i32.add (local.get $from) (i32.const 1)))
|
|
(br $cont))))
|
|
(return (local.get $from)))
|
|
|
|
(func (export "run") (param $offs i32) (param $len i32)
|
|
(memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
|
|
|
|
(assert_trap (invoke "run" (i32.const 65473) (i32.const 31))
|
|
"out of bounds")
|
|
|
|
(assert_return (invoke "checkRange" (i32.const 0) (i32.const 65473) (i32.const 0))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 65473) (i32.const 65489) (i32.const 66))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 65489) (i32.const 65536) (i32.const 0))
|
|
(i32.const -1))
|
|
(module
|
|
(memory 1 )
|
|
(data passive "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
|
|
|
|
(func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
|
|
(loop $cont
|
|
(if (i32.eq (local.get $from) (local.get $to))
|
|
(then
|
|
(return (i32.const -1))))
|
|
(if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
|
|
(then
|
|
(local.set $from (i32.add (local.get $from) (i32.const 1)))
|
|
(br $cont))))
|
|
(return (local.get $from)))
|
|
|
|
(func (export "run") (param $offs i32) (param $len i32)
|
|
(memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
|
|
|
|
(assert_trap (invoke "run" (i32.const 65528) (i32.const 4294967040))
|
|
"out of bounds")
|
|
|
|
(assert_return (invoke "checkRange" (i32.const 0) (i32.const 65528) (i32.const 0))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 65528) (i32.const 65536) (i32.const 66))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 65536) (i32.const 65536) (i32.const 0))
|
|
(i32.const -1))
|
|
(module
|
|
(memory 1 )
|
|
(data passive "\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42\42")
|
|
|
|
(func (export "checkRange") (param $from i32) (param $to i32) (param $expected i32) (result i32)
|
|
(loop $cont
|
|
(if (i32.eq (local.get $from) (local.get $to))
|
|
(then
|
|
(return (i32.const -1))))
|
|
(if (i32.eq (i32.load8_u (local.get $from)) (local.get $expected))
|
|
(then
|
|
(local.set $from (i32.add (local.get $from) (i32.const 1)))
|
|
(br $cont))))
|
|
(return (local.get $from)))
|
|
|
|
(func (export "run") (param $offs i32) (param $len i32)
|
|
(memory.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
|
|
|
|
(assert_trap (invoke "run" (i32.const 0) (i32.const 4294967292))
|
|
"out of bounds")
|
|
|
|
(assert_return (invoke "checkRange" (i32.const 0) (i32.const 0) (i32.const 0))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 0) (i32.const 16) (i32.const 66))
|
|
(i32.const -1))
|
|
(assert_return (invoke "checkRange" (i32.const 16) (i32.const 65536) (i32.const 0))
|
|
(i32.const -1))
|