Skip to content

Commit 5f89d44

Browse files
authored
Update repos (#17)
simd: WebAssembly/simd@04732346 bulk-memory-operations: WebAssembly/bulk-memory-operations@11388e78 sign-extension-ops: WebAssembly/sign-extension-ops@a09a028e reference-types: WebAssembly/reference-types@2719ec31 This change was automatically generated by `update-testsuite.sh`
1 parent c7225cc commit 5f89d44

14 files changed

Lines changed: 1393 additions & 541 deletions

File tree

proposals/bulk-memory-operations/bulk.wast

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,22 @@
176176
(assert_trap (invoke "init_active" (i32.const 1)) "out of bounds")
177177
(invoke "init_active" (i32.const 0))
178178

179+
;; Test that the data segment index is properly encoded as an unsigned (not
180+
;; signed) LEB.
181+
(module
182+
(memory 1)
183+
;; 65 data segments. 64 is the smallest positive number that is encoded
184+
;; differently as a signed LEB.
185+
(data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
186+
(data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
187+
(data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
188+
(data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
189+
(data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
190+
(data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
191+
(data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
192+
(data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
193+
(data "")
194+
(func (data.drop 64)))
179195

180196
;; table.init
181197
(module
@@ -251,6 +267,30 @@
251267
(assert_trap (invoke "init_active" (i32.const 1)) "out of bounds")
252268
(invoke "init_active" (i32.const 0))
253269

270+
;; Test that the elem segment index is properly encoded as an unsigned (not
271+
;; signed) LEB.
272+
(module
273+
(table 1 funcref)
274+
;; 65 elem segments. 64 is the smallest positive number that is encoded
275+
;; differently as a signed LEB.
276+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
277+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
278+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
279+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
280+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
281+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
282+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
283+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
284+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
285+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
286+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
287+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
288+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
289+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
290+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
291+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
292+
(elem funcref)
293+
(func (elem.drop 64)))
254294

255295
;; table.copy
256296
(module

proposals/bulk-memory-operations/memory_init.wast

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -949,3 +949,19 @@
949949

950950
(assert_return (invoke "checkRange" (i32.const 0) (i32.const 1) (i32.const 0))
951951
(i32.const -1))
952+
953+
(module
954+
(memory 1)
955+
;; 65 data segments. 64 is the smallest positive number that is encoded
956+
;; differently as a signed LEB.
957+
(data "") (data "") (data "") (data "") (data "") (data "") (data "") (data "")
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 "")
966+
(func (memory.init 64 (i32.const 0) (i32.const 0) (i32.const 0))))
967+

proposals/bulk-memory-operations/table_init.wast

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1750,3 +1750,27 @@
17501750
(assert_trap (invoke "test" (i32.const 13)) "uninitialized element")
17511751
(assert_trap (invoke "test" (i32.const 14)) "uninitialized element")
17521752
(assert_trap (invoke "test" (i32.const 15)) "uninitialized element")
1753+
1754+
(module
1755+
(table 1 funcref)
1756+
;; 65 elem segments. 64 is the smallest positive number that is encoded
1757+
;; differently as a signed LEB.
1758+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1759+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1760+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1761+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1762+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1763+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1764+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1765+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1766+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1767+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1768+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1769+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1770+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1771+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1772+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1773+
(elem funcref) (elem funcref) (elem funcref) (elem funcref)
1774+
(elem funcref)
1775+
(func (table.init 64 (i32.const 0) (i32.const 0) (i32.const 0))))
1776+

proposals/reference-types/elem.wast

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
;; Passive
1010
(elem funcref)
11-
(elem funcref (ref.func $f) (ref.func $f) (ref.null) (ref.func $g))
11+
(elem funcref (ref.func $f) (item ref.func $f) (item (ref.null)) (ref.func $g))
1212
(elem func)
1313
(elem func $f $f $g $g)
1414

@@ -63,6 +63,17 @@
6363
(elem $a24 (i32.const 0) funcref (ref.func $f) (ref.null))
6464
(elem $a25 (i32.const 0) func $f $f)
6565
(elem $a26 (i32.const 0) $f $f)
66+
67+
;; Declarative
68+
(elem declare funcref)
69+
(elem declare funcref (ref.func $f) (ref.func $f) (ref.null) (ref.func $g))
70+
(elem declare func)
71+
(elem declare func $f $f $g $g)
72+
73+
(elem $d1 declare funcref)
74+
(elem $d2 declare funcref (ref.func $f) (ref.func $f) (ref.null) (ref.func $g))
75+
(elem $d3 declare func)
76+
(elem $d4 declare func $f $f $g $g)
6677
)
6778

6879
(module
@@ -71,6 +82,8 @@
7182

7283
(table $t funcref (elem (ref.func $f) (ref.null) (ref.func $g)))
7384
)
85+
86+
7487
;; Basic use
7588

7689
(module
@@ -294,6 +307,28 @@
294307
"out of bounds"
295308
)
296309

310+
;; Implicitly dropped elements
311+
312+
(module
313+
(table 10 funcref)
314+
(elem $e (i32.const 0) func $f)
315+
(func $f)
316+
(func (export "init")
317+
(table.init $e (i32.const 0) (i32.const 0) (i32.const 1))
318+
)
319+
)
320+
(assert_trap (invoke "init") "out of bounds")
321+
322+
(module
323+
(table 10 funcref)
324+
(elem $e declare func $f)
325+
(func $f)
326+
(func (export "init")
327+
(table.init $e (i32.const 0) (i32.const 0) (i32.const 1))
328+
)
329+
)
330+
(assert_trap (invoke "init") "out of bounds")
331+
297332
;; Element without table
298333

299334
(assert_invalid

proposals/reference-types/linking.wast

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@
129129
"incompatible import type"
130130
)
131131

132+
132133
(assert_unlinkable
133134
(module (global (import "Mref_ex" "g-var-null") (mut funcref)))
134135
"incompatible import type"

proposals/reference-types/ref_func.wast

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,26 @@
55

66
(module
77
(func $f (import "M" "f") (param i32) (result i32))
8-
(func $g (param $x i32) (result i32) (i32.add (local.get $x) (i32.const 1)))
8+
(func $g (param $x i32) (result i32)
9+
(i32.add (local.get $x) (i32.const 1))
10+
)
911

1012
(global anyref (ref.func $f))
1113
(global anyref (ref.func $g))
1214
(global funcref (ref.func $f))
1315
(global funcref (ref.func $g))
1416
(global $v (mut funcref) (ref.func $f))
1517

18+
(global funcref (ref.func $gf1))
19+
(global funcref (ref.func $gf2))
20+
(func (drop (ref.func $ff1)) (drop (ref.func $ff2)))
21+
(elem declare func $gf1 $ff1)
22+
(elem declare funcref (ref.func $gf2) (ref.func $ff2))
23+
(func $gf1)
24+
(func $gf2)
25+
(func $ff1)
26+
(func $ff2)
27+
1628
(func (export "is_null-f") (result i32)
1729
(ref.is_null (ref.func $f))
1830
)
@@ -27,6 +39,7 @@
2739
(func (export "set-g") (global.set $v (ref.func $g)))
2840

2941
(table $t 1 funcref)
42+
(elem declare func $f $g)
3043

3144
(func (export "call-f") (param $x i32) (result i32)
3245
(table.set $t (i32.const 0) (ref.func $f))
@@ -62,3 +75,12 @@
6275
)
6376
"unknown function 7"
6477
)
78+
79+
(assert_invalid
80+
(module (func $f) (global funcref (ref.func $f)))
81+
"undeclared function reference"
82+
)
83+
(assert_invalid
84+
(module (func $f (drop (ref.func $f))))
85+
"undeclared function reference"
86+
)

proposals/reference-types/table_grow.wast

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
;; Reject growing to size outside i32 value range
3939
(module
4040
(table $t 0x10 anyref)
41+
(elem declare func $f)
4142
(func $f (export "grow") (result i32)
4243
(table.grow $t (ref.func $f) (i32.const 0xffff_fff0))
4344
)
@@ -82,6 +83,7 @@
8283
(func (export "grow") (param i32) (result i32)
8384
(table.grow $t (ref.null) (local.get 0))
8485
)
86+
(elem declare func 1)
8587
(func (export "check-table-null") (param i32 i32) (result anyref)
8688
(local anyref)
8789
(local.set 2 (ref.func 1))

0 commit comments

Comments
 (0)