Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 40 additions & 1 deletion test/core/bulk-memory/memory_init.wast
Original file line number Diff line number Diff line change
Expand Up @@ -208,12 +208,51 @@
(data.drop 0)))
(invoke "test")

(module
(memory 1)
(data "\37")
(func (export "test")
(memory.init 0 (i32.const 1234) (i32.const 0) (i32.const 1))))
(invoke "test")

(module
(memory 1)
(data "\37")
(func (export "test")
(data.drop 0)
(memory.init 0 (i32.const 1234) (i32.const 1) (i32.const 1))))
(memory.init 0 (i32.const 1234) (i32.const 0) (i32.const 1))))
(assert_trap (invoke "test") "out of bounds memory access")

(module
(memory 1)
(data "\37")
(func (export "test")
(data.drop 0)
(memory.init 0 (i32.const 1234) (i32.const 0) (i32.const 0))))
(invoke "test")

(module
(memory 1)
(data "\37")
(func (export "test")
(data.drop 0)
(memory.init 0 (i32.const 1234) (i32.const 1) (i32.const 0))))
(assert_trap (invoke "test") "out of bounds memory access")

(module
(memory 1)
(data "\37")
(func (export "test")
(data.drop 0)
(memory.init 0 (i32.const 0x10000) (i32.const 0) (i32.const 0))))
(invoke "test")

(module
(memory 1)
(data "\37")
(func (export "test")
(data.drop 0)
(memory.init 0 (i32.const 0x10001) (i32.const 0) (i32.const 0))))
(assert_trap (invoke "test") "out of bounds memory access")

(module
Expand Down
120 changes: 120 additions & 0 deletions test/core/bulk-memory/table_init.wast
Original file line number Diff line number Diff line change
Expand Up @@ -506,6 +506,30 @@
(elem.drop 1)))
(invoke "test")

(module
(table $t0 30 30 funcref)
(table $t1 28 28 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
(elem funcref
(ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
(elem (table $t0) (i32.const 12) func 7 5 2 3 6)
(elem funcref
(ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
(func (result i32) (i32.const 0))
(func (result i32) (i32.const 1))
(func (result i32) (i32.const 2))
(func (result i32) (i32.const 3))
(func (result i32) (i32.const 4))
(func (result i32) (i32.const 5))
(func (result i32) (i32.const 6))
(func (result i32) (i32.const 7))
(func (result i32) (i32.const 8))
(func (result i32) (i32.const 9))
(func (export "test")
(table.init 1 (i32.const 12) (i32.const 1) (i32.const 1))
))
(invoke "test")

(module
(table $t0 30 30 funcref)
(table $t1 28 28 funcref)
Expand All @@ -530,6 +554,102 @@
(table.init 1 (i32.const 12) (i32.const 1) (i32.const 1))))
(assert_trap (invoke "test") "out of bounds table access")

(module
(table $t0 30 30 funcref)
(table $t1 28 28 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
(elem funcref
(ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
(elem (table $t0) (i32.const 12) func 7 5 2 3 6)
(elem funcref
(ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
(func (result i32) (i32.const 0))
(func (result i32) (i32.const 1))
(func (result i32) (i32.const 2))
(func (result i32) (i32.const 3))
(func (result i32) (i32.const 4))
(func (result i32) (i32.const 5))
(func (result i32) (i32.const 6))
(func (result i32) (i32.const 7))
(func (result i32) (i32.const 8))
(func (result i32) (i32.const 9))
(func (export "test")
(elem.drop 1)
(table.init 1 (i32.const 12) (i32.const 0) (i32.const 0))))
(invoke "test")

(module
(table $t0 30 30 funcref)
(table $t1 28 28 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
(elem funcref
(ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
(elem (table $t0) (i32.const 12) func 7 5 2 3 6)
(elem funcref
(ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
(func (result i32) (i32.const 0))
(func (result i32) (i32.const 1))
(func (result i32) (i32.const 2))
(func (result i32) (i32.const 3))
(func (result i32) (i32.const 4))
(func (result i32) (i32.const 5))
(func (result i32) (i32.const 6))
(func (result i32) (i32.const 7))
(func (result i32) (i32.const 8))
(func (result i32) (i32.const 9))
(func (export "test")
(elem.drop 1)
(table.init 1 (i32.const 12) (i32.const 1) (i32.const 0))))
(assert_trap (invoke "test") "out of bounds table access")

(module
(table $t0 30 30 funcref)
(table $t1 28 28 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
(elem funcref
(ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
(elem (table $t0) (i32.const 12) func 7 5 2 3 6)
(elem funcref
(ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
(func (result i32) (i32.const 0))
(func (result i32) (i32.const 1))
(func (result i32) (i32.const 2))
(func (result i32) (i32.const 3))
(func (result i32) (i32.const 4))
(func (result i32) (i32.const 5))
(func (result i32) (i32.const 6))
(func (result i32) (i32.const 7))
(func (result i32) (i32.const 8))
(func (result i32) (i32.const 9))
(func (export "test")
(elem.drop 1)
(table.init 1 (i32.const 30) (i32.const 0) (i32.const 0))))
(invoke "test")

(module
(table $t0 30 30 funcref)
(table $t1 28 28 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
(elem funcref
(ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
(elem (table $t0) (i32.const 12) func 7 5 2 3 6)
(elem funcref
(ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
(func (result i32) (i32.const 0))
(func (result i32) (i32.const 1))
(func (result i32) (i32.const 2))
(func (result i32) (i32.const 3))
(func (result i32) (i32.const 4))
(func (result i32) (i32.const 5))
(func (result i32) (i32.const 6))
(func (result i32) (i32.const 7))
(func (result i32) (i32.const 8))
(func (result i32) (i32.const 9))
(func (export "test")
(elem.drop 1)
(table.init 1 (i32.const 31) (i32.const 0) (i32.const 0))))
(assert_trap (invoke "test") "out of bounds table access")

(module
(table $t0 30 30 funcref)
(table $t1 28 28 funcref)
Expand Down
41 changes: 40 additions & 1 deletion test/core/memory64/memory_init64.wast
Original file line number Diff line number Diff line change
Expand Up @@ -208,12 +208,51 @@
(data.drop 0)))
(invoke "test")

(module
(memory i64 1)
(data "\37")
(func (export "test")
(memory.init 0 (i64.const 1234) (i32.const 0) (i32.const 1))))
(invoke "test")

(module
(memory i64 1)
(data "\37")
(func (export "test")
(data.drop 0)
(memory.init 0 (i64.const 1234) (i32.const 1) (i32.const 1))))
(memory.init 0 (i64.const 1234) (i32.const 0) (i32.const 1))))
(assert_trap (invoke "test") "out of bounds memory access")

(module
(memory i64 1)
(data "\37")
(func (export "test")
(data.drop 0)
(memory.init 0 (i64.const 1234) (i32.const 0) (i32.const 0))))
(invoke "test")

(module
(memory i64 1)
(data "\37")
(func (export "test")
(data.drop 0)
(memory.init 0 (i64.const 1234) (i32.const 1) (i32.const 0))))
(assert_trap (invoke "test") "out of bounds memory access")

(module
(memory i64 1)
(data "\37")
(func (export "test")
(data.drop 0)
(memory.init 0 (i64.const 0x10000) (i32.const 0) (i32.const 0))))
(invoke "test")

(module
(memory i64 1)
(data "\37")
(func (export "test")
(data.drop 0)
(memory.init 0 (i64.const 0x10001) (i32.const 0) (i32.const 0))))
(assert_trap (invoke "test") "out of bounds memory access")

(module
Expand Down
Loading
Loading