summaryrefslogtreecommitdiff
path: root/test/multi-table.wast
blob: a98c9e4b04deb96cb433e81164244bf368acb9e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
(module
  (type $none_=>_none (func))
  (type $A (struct))
  (global $g1 (ref null $none_=>_none) (ref.func $f))
  (global $g2 i32 (i32.const 0))

  (import "a" "b" (table $t1 1 10 funcref))
  (table $t2 3 3 funcref)
  (table $t3 4 4 funcref)
  (table $textern 0 externref)

  ;; add to $t1
  (elem (i32.const 0) $f)

  ;; add to $t2
  (elem (table $t2) (i32.const 0) func $f)
  (elem $activeNonZeroOffset (table $t2) (offset (i32.const 1)) func $f $g)

  (elem $e3-1 (table $t3) (global.get $g2) funcref (ref.func $f) (ref.null func))
  (elem $e3-2 (table $t3) (offset (i32.const 2)) (ref null $none_=>_none) (item ref.func $f) (item (ref.func $g)))

  (elem $passive-1 func $f $g)
  (elem $passive-2 funcref (item ref.func $f) (item (ref.func $g)) (ref.null func))
  (elem $passive-3 (ref null $none_=>_none) (item ref.func $f) (item (ref.func $g)) (ref.null $none_=>_none) (global.get $g1))
  (elem $empty func)
  (elem $declarative declare func $h)

  (func $f (drop (ref.func $h)))
  (func $g)
  (func $h)
)