github.com/wasilibs/wazerox@v0.0.0-20240124024944-4923be63ab5f/internal/integration_test/spectest/v2/testdata/table_init.wast (about)

     1  ;;
     2  ;; Generated by ../meta/generate_table_init.js
     3  ;; DO NOT EDIT THIS FILE.  CHANGE THE SOURCE AND REGENERATE.
     4  ;;
     5  
     6  (module
     7    (func (export "ef0") (result i32) (i32.const 0))
     8    (func (export "ef1") (result i32) (i32.const 1))
     9    (func (export "ef2") (result i32) (i32.const 2))
    10    (func (export "ef3") (result i32) (i32.const 3))
    11    (func (export "ef4") (result i32) (i32.const 4))
    12  )
    13  (register "a")
    14  
    15  (module
    16    (type (func (result i32)))  ;; type #0
    17    (import "a" "ef0" (func (result i32)))    ;; index 0
    18    (import "a" "ef1" (func (result i32)))
    19    (import "a" "ef2" (func (result i32)))
    20    (import "a" "ef3" (func (result i32)))
    21    (import "a" "ef4" (func (result i32)))    ;; index 4
    22    (table $t0 30 30 funcref)
    23    (table $t1 30 30 funcref)
    24    (elem (table $t0) (i32.const 2) func 3 1 4 1)
    25    (elem funcref
    26      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
    27    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
    28    (elem funcref
    29      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
    30    (func (result i32) (i32.const 5))  ;; index 5
    31    (func (result i32) (i32.const 6))
    32    (func (result i32) (i32.const 7))
    33    (func (result i32) (i32.const 8))
    34    (func (result i32) (i32.const 9))  ;; index 9
    35    (func (export "test")
    36      (table.init $t0 1 (i32.const 7) (i32.const 0) (i32.const 4)))
    37    (func (export "check") (param i32) (result i32)
    38      (call_indirect $t0 (type 0) (local.get 0)))
    39  )
    40  
    41  (invoke "test")
    42  (assert_trap (invoke "check" (i32.const 0)) "uninitialized element")
    43  (assert_trap (invoke "check" (i32.const 1)) "uninitialized element")
    44  (assert_return (invoke "check" (i32.const 2)) (i32.const 3))
    45  (assert_return (invoke "check" (i32.const 3)) (i32.const 1))
    46  (assert_return (invoke "check" (i32.const 4)) (i32.const 4))
    47  (assert_return (invoke "check" (i32.const 5)) (i32.const 1))
    48  (assert_trap (invoke "check" (i32.const 6)) "uninitialized element")
    49  (assert_return (invoke "check" (i32.const 7)) (i32.const 2))
    50  (assert_return (invoke "check" (i32.const 8)) (i32.const 7))
    51  (assert_return (invoke "check" (i32.const 9)) (i32.const 1))
    52  (assert_return (invoke "check" (i32.const 10)) (i32.const 8))
    53  (assert_trap (invoke "check" (i32.const 11)) "uninitialized element")
    54  (assert_return (invoke "check" (i32.const 12)) (i32.const 7))
    55  (assert_return (invoke "check" (i32.const 13)) (i32.const 5))
    56  (assert_return (invoke "check" (i32.const 14)) (i32.const 2))
    57  (assert_return (invoke "check" (i32.const 15)) (i32.const 3))
    58  (assert_return (invoke "check" (i32.const 16)) (i32.const 6))
    59  (assert_trap (invoke "check" (i32.const 17)) "uninitialized element")
    60  (assert_trap (invoke "check" (i32.const 18)) "uninitialized element")
    61  (assert_trap (invoke "check" (i32.const 19)) "uninitialized element")
    62  (assert_trap (invoke "check" (i32.const 20)) "uninitialized element")
    63  (assert_trap (invoke "check" (i32.const 21)) "uninitialized element")
    64  (assert_trap (invoke "check" (i32.const 22)) "uninitialized element")
    65  (assert_trap (invoke "check" (i32.const 23)) "uninitialized element")
    66  (assert_trap (invoke "check" (i32.const 24)) "uninitialized element")
    67  (assert_trap (invoke "check" (i32.const 25)) "uninitialized element")
    68  (assert_trap (invoke "check" (i32.const 26)) "uninitialized element")
    69  (assert_trap (invoke "check" (i32.const 27)) "uninitialized element")
    70  (assert_trap (invoke "check" (i32.const 28)) "uninitialized element")
    71  (assert_trap (invoke "check" (i32.const 29)) "uninitialized element")
    72  
    73  (module
    74    (type (func (result i32)))  ;; type #0
    75    (import "a" "ef0" (func (result i32)))    ;; index 0
    76    (import "a" "ef1" (func (result i32)))
    77    (import "a" "ef2" (func (result i32)))
    78    (import "a" "ef3" (func (result i32)))
    79    (import "a" "ef4" (func (result i32)))    ;; index 4
    80    (table $t0 30 30 funcref)
    81    (table $t1 30 30 funcref)
    82    (elem (table $t0) (i32.const 2) func 3 1 4 1)
    83    (elem funcref
    84      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
    85    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
    86    (elem funcref
    87      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
    88    (func (result i32) (i32.const 5))  ;; index 5
    89    (func (result i32) (i32.const 6))
    90    (func (result i32) (i32.const 7))
    91    (func (result i32) (i32.const 8))
    92    (func (result i32) (i32.const 9))  ;; index 9
    93    (func (export "test")
    94      (table.init $t0 3 (i32.const 15) (i32.const 1) (i32.const 3)))
    95    (func (export "check") (param i32) (result i32)
    96      (call_indirect $t0 (type 0) (local.get 0)))
    97  )
    98  
    99  (invoke "test")
   100  (assert_trap (invoke "check" (i32.const 0)) "uninitialized element")
   101  (assert_trap (invoke "check" (i32.const 1)) "uninitialized element")
   102  (assert_return (invoke "check" (i32.const 2)) (i32.const 3))
   103  (assert_return (invoke "check" (i32.const 3)) (i32.const 1))
   104  (assert_return (invoke "check" (i32.const 4)) (i32.const 4))
   105  (assert_return (invoke "check" (i32.const 5)) (i32.const 1))
   106  (assert_trap (invoke "check" (i32.const 6)) "uninitialized element")
   107  (assert_trap (invoke "check" (i32.const 7)) "uninitialized element")
   108  (assert_trap (invoke "check" (i32.const 8)) "uninitialized element")
   109  (assert_trap (invoke "check" (i32.const 9)) "uninitialized element")
   110  (assert_trap (invoke "check" (i32.const 10)) "uninitialized element")
   111  (assert_trap (invoke "check" (i32.const 11)) "uninitialized element")
   112  (assert_return (invoke "check" (i32.const 12)) (i32.const 7))
   113  (assert_return (invoke "check" (i32.const 13)) (i32.const 5))
   114  (assert_return (invoke "check" (i32.const 14)) (i32.const 2))
   115  (assert_return (invoke "check" (i32.const 15)) (i32.const 9))
   116  (assert_return (invoke "check" (i32.const 16)) (i32.const 2))
   117  (assert_return (invoke "check" (i32.const 17)) (i32.const 7))
   118  (assert_trap (invoke "check" (i32.const 18)) "uninitialized element")
   119  (assert_trap (invoke "check" (i32.const 19)) "uninitialized element")
   120  (assert_trap (invoke "check" (i32.const 20)) "uninitialized element")
   121  (assert_trap (invoke "check" (i32.const 21)) "uninitialized element")
   122  (assert_trap (invoke "check" (i32.const 22)) "uninitialized element")
   123  (assert_trap (invoke "check" (i32.const 23)) "uninitialized element")
   124  (assert_trap (invoke "check" (i32.const 24)) "uninitialized element")
   125  (assert_trap (invoke "check" (i32.const 25)) "uninitialized element")
   126  (assert_trap (invoke "check" (i32.const 26)) "uninitialized element")
   127  (assert_trap (invoke "check" (i32.const 27)) "uninitialized element")
   128  (assert_trap (invoke "check" (i32.const 28)) "uninitialized element")
   129  (assert_trap (invoke "check" (i32.const 29)) "uninitialized element")
   130  
   131  (module
   132    (type (func (result i32)))  ;; type #0
   133    (import "a" "ef0" (func (result i32)))    ;; index 0
   134    (import "a" "ef1" (func (result i32)))
   135    (import "a" "ef2" (func (result i32)))
   136    (import "a" "ef3" (func (result i32)))
   137    (import "a" "ef4" (func (result i32)))    ;; index 4
   138    (table $t0 30 30 funcref)
   139    (table $t1 30 30 funcref)
   140    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   141    (elem funcref
   142      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   143    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   144    (elem funcref
   145      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   146    (func (result i32) (i32.const 5))  ;; index 5
   147    (func (result i32) (i32.const 6))
   148    (func (result i32) (i32.const 7))
   149    (func (result i32) (i32.const 8))
   150    (func (result i32) (i32.const 9))  ;; index 9
   151    (func (export "test")
   152      (table.init $t0 1 (i32.const 7) (i32.const 0) (i32.const 4))
   153           (elem.drop 1)
   154           (table.init $t0 3 (i32.const 15) (i32.const 1) (i32.const 3))
   155           (elem.drop 3)
   156           (table.copy $t0 0 (i32.const 20) (i32.const 15) (i32.const 5))
   157           (table.copy $t0 0 (i32.const 21) (i32.const 29) (i32.const 1))
   158           (table.copy $t0 0 (i32.const 24) (i32.const 10) (i32.const 1))
   159           (table.copy $t0 0 (i32.const 13) (i32.const 11) (i32.const 4))
   160           (table.copy $t0 0 (i32.const 19) (i32.const 20) (i32.const 5)))
   161    (func (export "check") (param i32) (result i32)
   162      (call_indirect $t0 (type 0) (local.get 0)))
   163  )
   164  
   165  (invoke "test")
   166  (assert_trap (invoke "check" (i32.const 0)) "uninitialized element")
   167  (assert_trap (invoke "check" (i32.const 1)) "uninitialized element")
   168  (assert_return (invoke "check" (i32.const 2)) (i32.const 3))
   169  (assert_return (invoke "check" (i32.const 3)) (i32.const 1))
   170  (assert_return (invoke "check" (i32.const 4)) (i32.const 4))
   171  (assert_return (invoke "check" (i32.const 5)) (i32.const 1))
   172  (assert_trap (invoke "check" (i32.const 6)) "uninitialized element")
   173  (assert_return (invoke "check" (i32.const 7)) (i32.const 2))
   174  (assert_return (invoke "check" (i32.const 8)) (i32.const 7))
   175  (assert_return (invoke "check" (i32.const 9)) (i32.const 1))
   176  (assert_return (invoke "check" (i32.const 10)) (i32.const 8))
   177  (assert_trap (invoke "check" (i32.const 11)) "uninitialized element")
   178  (assert_return (invoke "check" (i32.const 12)) (i32.const 7))
   179  (assert_trap (invoke "check" (i32.const 13)) "uninitialized element")
   180  (assert_return (invoke "check" (i32.const 14)) (i32.const 7))
   181  (assert_return (invoke "check" (i32.const 15)) (i32.const 5))
   182  (assert_return (invoke "check" (i32.const 16)) (i32.const 2))
   183  (assert_return (invoke "check" (i32.const 17)) (i32.const 7))
   184  (assert_trap (invoke "check" (i32.const 18)) "uninitialized element")
   185  (assert_return (invoke "check" (i32.const 19)) (i32.const 9))
   186  (assert_trap (invoke "check" (i32.const 20)) "uninitialized element")
   187  (assert_return (invoke "check" (i32.const 21)) (i32.const 7))
   188  (assert_trap (invoke "check" (i32.const 22)) "uninitialized element")
   189  (assert_return (invoke "check" (i32.const 23)) (i32.const 8))
   190  (assert_return (invoke "check" (i32.const 24)) (i32.const 8))
   191  (assert_trap (invoke "check" (i32.const 25)) "uninitialized element")
   192  (assert_trap (invoke "check" (i32.const 26)) "uninitialized element")
   193  (assert_trap (invoke "check" (i32.const 27)) "uninitialized element")
   194  (assert_trap (invoke "check" (i32.const 28)) "uninitialized element")
   195  (assert_trap (invoke "check" (i32.const 29)) "uninitialized element")
   196  
   197  (module
   198    (type (func (result i32)))  ;; type #0
   199    (import "a" "ef0" (func (result i32)))    ;; index 0
   200    (import "a" "ef1" (func (result i32)))
   201    (import "a" "ef2" (func (result i32)))
   202    (import "a" "ef3" (func (result i32)))
   203    (import "a" "ef4" (func (result i32)))    ;; index 4
   204    (table $t0 30 30 funcref)
   205    (table $t1 30 30 funcref)
   206    (elem (table $t1) (i32.const 2) func 3 1 4 1)
   207    (elem funcref
   208      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   209    (elem (table $t1) (i32.const 12) func 7 5 2 3 6)
   210    (elem funcref
   211      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   212    (func (result i32) (i32.const 5))  ;; index 5
   213    (func (result i32) (i32.const 6))
   214    (func (result i32) (i32.const 7))
   215    (func (result i32) (i32.const 8))
   216    (func (result i32) (i32.const 9))  ;; index 9
   217    (func (export "test")
   218      (table.init $t1 1 (i32.const 7) (i32.const 0) (i32.const 4)))
   219    (func (export "check") (param i32) (result i32)
   220      (call_indirect $t1 (type 0) (local.get 0)))
   221  )
   222  
   223  (invoke "test")
   224  (assert_trap (invoke "check" (i32.const 0)) "uninitialized element")
   225  (assert_trap (invoke "check" (i32.const 1)) "uninitialized element")
   226  (assert_return (invoke "check" (i32.const 2)) (i32.const 3))
   227  (assert_return (invoke "check" (i32.const 3)) (i32.const 1))
   228  (assert_return (invoke "check" (i32.const 4)) (i32.const 4))
   229  (assert_return (invoke "check" (i32.const 5)) (i32.const 1))
   230  (assert_trap (invoke "check" (i32.const 6)) "uninitialized element")
   231  (assert_return (invoke "check" (i32.const 7)) (i32.const 2))
   232  (assert_return (invoke "check" (i32.const 8)) (i32.const 7))
   233  (assert_return (invoke "check" (i32.const 9)) (i32.const 1))
   234  (assert_return (invoke "check" (i32.const 10)) (i32.const 8))
   235  (assert_trap (invoke "check" (i32.const 11)) "uninitialized element")
   236  (assert_return (invoke "check" (i32.const 12)) (i32.const 7))
   237  (assert_return (invoke "check" (i32.const 13)) (i32.const 5))
   238  (assert_return (invoke "check" (i32.const 14)) (i32.const 2))
   239  (assert_return (invoke "check" (i32.const 15)) (i32.const 3))
   240  (assert_return (invoke "check" (i32.const 16)) (i32.const 6))
   241  (assert_trap (invoke "check" (i32.const 17)) "uninitialized element")
   242  (assert_trap (invoke "check" (i32.const 18)) "uninitialized element")
   243  (assert_trap (invoke "check" (i32.const 19)) "uninitialized element")
   244  (assert_trap (invoke "check" (i32.const 20)) "uninitialized element")
   245  (assert_trap (invoke "check" (i32.const 21)) "uninitialized element")
   246  (assert_trap (invoke "check" (i32.const 22)) "uninitialized element")
   247  (assert_trap (invoke "check" (i32.const 23)) "uninitialized element")
   248  (assert_trap (invoke "check" (i32.const 24)) "uninitialized element")
   249  (assert_trap (invoke "check" (i32.const 25)) "uninitialized element")
   250  (assert_trap (invoke "check" (i32.const 26)) "uninitialized element")
   251  (assert_trap (invoke "check" (i32.const 27)) "uninitialized element")
   252  (assert_trap (invoke "check" (i32.const 28)) "uninitialized element")
   253  (assert_trap (invoke "check" (i32.const 29)) "uninitialized element")
   254  
   255  (module
   256    (type (func (result i32)))  ;; type #0
   257    (import "a" "ef0" (func (result i32)))    ;; index 0
   258    (import "a" "ef1" (func (result i32)))
   259    (import "a" "ef2" (func (result i32)))
   260    (import "a" "ef3" (func (result i32)))
   261    (import "a" "ef4" (func (result i32)))    ;; index 4
   262    (table $t0 30 30 funcref)
   263    (table $t1 30 30 funcref)
   264    (elem (table $t1) (i32.const 2) func 3 1 4 1)
   265    (elem funcref
   266      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   267    (elem (table $t1) (i32.const 12) func 7 5 2 3 6)
   268    (elem funcref
   269      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   270    (func (result i32) (i32.const 5))  ;; index 5
   271    (func (result i32) (i32.const 6))
   272    (func (result i32) (i32.const 7))
   273    (func (result i32) (i32.const 8))
   274    (func (result i32) (i32.const 9))  ;; index 9
   275    (func (export "test")
   276      (table.init $t1 3 (i32.const 15) (i32.const 1) (i32.const 3)))
   277    (func (export "check") (param i32) (result i32)
   278      (call_indirect $t1 (type 0) (local.get 0)))
   279  )
   280  
   281  (invoke "test")
   282  (assert_trap (invoke "check" (i32.const 0)) "uninitialized element")
   283  (assert_trap (invoke "check" (i32.const 1)) "uninitialized element")
   284  (assert_return (invoke "check" (i32.const 2)) (i32.const 3))
   285  (assert_return (invoke "check" (i32.const 3)) (i32.const 1))
   286  (assert_return (invoke "check" (i32.const 4)) (i32.const 4))
   287  (assert_return (invoke "check" (i32.const 5)) (i32.const 1))
   288  (assert_trap (invoke "check" (i32.const 6)) "uninitialized element")
   289  (assert_trap (invoke "check" (i32.const 7)) "uninitialized element")
   290  (assert_trap (invoke "check" (i32.const 8)) "uninitialized element")
   291  (assert_trap (invoke "check" (i32.const 9)) "uninitialized element")
   292  (assert_trap (invoke "check" (i32.const 10)) "uninitialized element")
   293  (assert_trap (invoke "check" (i32.const 11)) "uninitialized element")
   294  (assert_return (invoke "check" (i32.const 12)) (i32.const 7))
   295  (assert_return (invoke "check" (i32.const 13)) (i32.const 5))
   296  (assert_return (invoke "check" (i32.const 14)) (i32.const 2))
   297  (assert_return (invoke "check" (i32.const 15)) (i32.const 9))
   298  (assert_return (invoke "check" (i32.const 16)) (i32.const 2))
   299  (assert_return (invoke "check" (i32.const 17)) (i32.const 7))
   300  (assert_trap (invoke "check" (i32.const 18)) "uninitialized element")
   301  (assert_trap (invoke "check" (i32.const 19)) "uninitialized element")
   302  (assert_trap (invoke "check" (i32.const 20)) "uninitialized element")
   303  (assert_trap (invoke "check" (i32.const 21)) "uninitialized element")
   304  (assert_trap (invoke "check" (i32.const 22)) "uninitialized element")
   305  (assert_trap (invoke "check" (i32.const 23)) "uninitialized element")
   306  (assert_trap (invoke "check" (i32.const 24)) "uninitialized element")
   307  (assert_trap (invoke "check" (i32.const 25)) "uninitialized element")
   308  (assert_trap (invoke "check" (i32.const 26)) "uninitialized element")
   309  (assert_trap (invoke "check" (i32.const 27)) "uninitialized element")
   310  (assert_trap (invoke "check" (i32.const 28)) "uninitialized element")
   311  (assert_trap (invoke "check" (i32.const 29)) "uninitialized element")
   312  
   313  (module
   314    (type (func (result i32)))  ;; type #0
   315    (import "a" "ef0" (func (result i32)))    ;; index 0
   316    (import "a" "ef1" (func (result i32)))
   317    (import "a" "ef2" (func (result i32)))
   318    (import "a" "ef3" (func (result i32)))
   319    (import "a" "ef4" (func (result i32)))    ;; index 4
   320    (table $t0 30 30 funcref)
   321    (table $t1 30 30 funcref)
   322    (elem (table $t1) (i32.const 2) func 3 1 4 1)
   323    (elem funcref
   324      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   325    (elem (table $t1) (i32.const 12) func 7 5 2 3 6)
   326    (elem funcref
   327      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   328    (func (result i32) (i32.const 5))  ;; index 5
   329    (func (result i32) (i32.const 6))
   330    (func (result i32) (i32.const 7))
   331    (func (result i32) (i32.const 8))
   332    (func (result i32) (i32.const 9))  ;; index 9
   333    (func (export "test")
   334      (table.init $t1 1 (i32.const 7) (i32.const 0) (i32.const 4))
   335           (elem.drop 1)
   336           (table.init $t1 3 (i32.const 15) (i32.const 1) (i32.const 3))
   337           (elem.drop 3)
   338           (table.copy $t1 1 (i32.const 20) (i32.const 15) (i32.const 5))
   339           (table.copy $t1 1 (i32.const 21) (i32.const 29) (i32.const 1))
   340           (table.copy $t1 1 (i32.const 24) (i32.const 10) (i32.const 1))
   341           (table.copy $t1 1 (i32.const 13) (i32.const 11) (i32.const 4))
   342           (table.copy $t1 1 (i32.const 19) (i32.const 20) (i32.const 5)))
   343    (func (export "check") (param i32) (result i32)
   344      (call_indirect $t1 (type 0) (local.get 0)))
   345  )
   346  
   347  (invoke "test")
   348  (assert_trap (invoke "check" (i32.const 0)) "uninitialized element")
   349  (assert_trap (invoke "check" (i32.const 1)) "uninitialized element")
   350  (assert_return (invoke "check" (i32.const 2)) (i32.const 3))
   351  (assert_return (invoke "check" (i32.const 3)) (i32.const 1))
   352  (assert_return (invoke "check" (i32.const 4)) (i32.const 4))
   353  (assert_return (invoke "check" (i32.const 5)) (i32.const 1))
   354  (assert_trap (invoke "check" (i32.const 6)) "uninitialized element")
   355  (assert_return (invoke "check" (i32.const 7)) (i32.const 2))
   356  (assert_return (invoke "check" (i32.const 8)) (i32.const 7))
   357  (assert_return (invoke "check" (i32.const 9)) (i32.const 1))
   358  (assert_return (invoke "check" (i32.const 10)) (i32.const 8))
   359  (assert_trap (invoke "check" (i32.const 11)) "uninitialized element")
   360  (assert_return (invoke "check" (i32.const 12)) (i32.const 7))
   361  (assert_trap (invoke "check" (i32.const 13)) "uninitialized element")
   362  (assert_return (invoke "check" (i32.const 14)) (i32.const 7))
   363  (assert_return (invoke "check" (i32.const 15)) (i32.const 5))
   364  (assert_return (invoke "check" (i32.const 16)) (i32.const 2))
   365  (assert_return (invoke "check" (i32.const 17)) (i32.const 7))
   366  (assert_trap (invoke "check" (i32.const 18)) "uninitialized element")
   367  (assert_return (invoke "check" (i32.const 19)) (i32.const 9))
   368  (assert_trap (invoke "check" (i32.const 20)) "uninitialized element")
   369  (assert_return (invoke "check" (i32.const 21)) (i32.const 7))
   370  (assert_trap (invoke "check" (i32.const 22)) "uninitialized element")
   371  (assert_return (invoke "check" (i32.const 23)) (i32.const 8))
   372  (assert_return (invoke "check" (i32.const 24)) (i32.const 8))
   373  (assert_trap (invoke "check" (i32.const 25)) "uninitialized element")
   374  (assert_trap (invoke "check" (i32.const 26)) "uninitialized element")
   375  (assert_trap (invoke "check" (i32.const 27)) "uninitialized element")
   376  (assert_trap (invoke "check" (i32.const 28)) "uninitialized element")
   377  (assert_trap (invoke "check" (i32.const 29)) "uninitialized element")
   378  (assert_invalid
   379    (module
   380      (func (export "test")
   381        (elem.drop 0)))
   382    "unknown elem segment 0")
   383  
   384  (assert_invalid
   385    (module
   386      (func (export "test")
   387        (table.init 0 (i32.const 12) (i32.const 1) (i32.const 1))))
   388    "unknown table 0")
   389  
   390  (assert_invalid
   391    (module
   392      (elem funcref (ref.func 0))
   393      (func (result i32) (i32.const 0))
   394      (func (export "test")
   395        (elem.drop 4)))
   396    "unknown elem segment 4")
   397  
   398  (assert_invalid
   399    (module
   400      (elem funcref (ref.func 0))
   401      (func (result i32) (i32.const 0))
   402      (func (export "test")
   403        (table.init 4 (i32.const 12) (i32.const 1) (i32.const 1))))
   404    "unknown table 0")
   405  
   406  
   407  (module
   408    (table $t0 30 30 funcref)
   409    (table $t1 28 28 funcref)
   410    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   411    (elem funcref
   412      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   413    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   414    (elem funcref
   415      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   416    (func (result i32) (i32.const 0))
   417    (func (result i32) (i32.const 1))
   418    (func (result i32) (i32.const 2))
   419    (func (result i32) (i32.const 3))
   420    (func (result i32) (i32.const 4))
   421    (func (result i32) (i32.const 5))
   422    (func (result i32) (i32.const 6))
   423    (func (result i32) (i32.const 7))
   424    (func (result i32) (i32.const 8))
   425    (func (result i32) (i32.const 9))
   426    (func (export "test")
   427      (elem.drop 2)
   428      ))
   429  (invoke "test")
   430  
   431  (module
   432    (table $t0 30 30 funcref)
   433    (table $t1 28 28 funcref)
   434    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   435    (elem funcref
   436      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   437    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   438    (elem funcref
   439      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   440    (func (result i32) (i32.const 0))
   441    (func (result i32) (i32.const 1))
   442    (func (result i32) (i32.const 2))
   443    (func (result i32) (i32.const 3))
   444    (func (result i32) (i32.const 4))
   445    (func (result i32) (i32.const 5))
   446    (func (result i32) (i32.const 6))
   447    (func (result i32) (i32.const 7))
   448    (func (result i32) (i32.const 8))
   449    (func (result i32) (i32.const 9))
   450    (func (export "test")
   451      (table.init 2 (i32.const 12) (i32.const 1) (i32.const 1))
   452      ))
   453  (assert_trap (invoke "test") "out of bounds table access")
   454  
   455  (module
   456    (table $t0 30 30 funcref)
   457    (table $t1 28 28 funcref)
   458    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   459    (elem funcref
   460      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   461    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   462    (elem funcref
   463      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   464    (func (result i32) (i32.const 0))
   465    (func (result i32) (i32.const 1))
   466    (func (result i32) (i32.const 2))
   467    (func (result i32) (i32.const 3))
   468    (func (result i32) (i32.const 4))
   469    (func (result i32) (i32.const 5))
   470    (func (result i32) (i32.const 6))
   471    (func (result i32) (i32.const 7))
   472    (func (result i32) (i32.const 8))
   473    (func (result i32) (i32.const 9))
   474    (func (export "test")
   475      (table.init 1 (i32.const 12) (i32.const 1) (i32.const 1))
   476      (table.init 1 (i32.const 21) (i32.const 1) (i32.const 1))))
   477  (invoke "test")
   478  
   479  (module
   480    (table $t0 30 30 funcref)
   481    (table $t1 28 28 funcref)
   482    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   483    (elem funcref
   484      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   485    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   486    (elem funcref
   487      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   488    (func (result i32) (i32.const 0))
   489    (func (result i32) (i32.const 1))
   490    (func (result i32) (i32.const 2))
   491    (func (result i32) (i32.const 3))
   492    (func (result i32) (i32.const 4))
   493    (func (result i32) (i32.const 5))
   494    (func (result i32) (i32.const 6))
   495    (func (result i32) (i32.const 7))
   496    (func (result i32) (i32.const 8))
   497    (func (result i32) (i32.const 9))
   498    (func (export "test")
   499      (elem.drop 1)
   500      (elem.drop 1)))
   501  (invoke "test")
   502  
   503  (module
   504    (table $t0 30 30 funcref)
   505    (table $t1 28 28 funcref)
   506    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   507    (elem funcref
   508      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   509    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   510    (elem funcref
   511      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   512    (func (result i32) (i32.const 0))
   513    (func (result i32) (i32.const 1))
   514    (func (result i32) (i32.const 2))
   515    (func (result i32) (i32.const 3))
   516    (func (result i32) (i32.const 4))
   517    (func (result i32) (i32.const 5))
   518    (func (result i32) (i32.const 6))
   519    (func (result i32) (i32.const 7))
   520    (func (result i32) (i32.const 8))
   521    (func (result i32) (i32.const 9))
   522    (func (export "test")
   523      (elem.drop 1)
   524      (table.init 1 (i32.const 12) (i32.const 1) (i32.const 1))))
   525  (assert_trap (invoke "test") "out of bounds table access")
   526  
   527  (module
   528    (table $t0 30 30 funcref)
   529    (table $t1 28 28 funcref)
   530    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   531    (elem funcref
   532      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   533    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   534    (elem funcref
   535      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   536    (func (result i32) (i32.const 0))
   537    (func (result i32) (i32.const 1))
   538    (func (result i32) (i32.const 2))
   539    (func (result i32) (i32.const 3))
   540    (func (result i32) (i32.const 4))
   541    (func (result i32) (i32.const 5))
   542    (func (result i32) (i32.const 6))
   543    (func (result i32) (i32.const 7))
   544    (func (result i32) (i32.const 8))
   545    (func (result i32) (i32.const 9))
   546    (func (export "test")
   547      (table.init 1 (i32.const 12) (i32.const 0) (i32.const 5))
   548      ))
   549  (assert_trap (invoke "test") "out of bounds table access")
   550  
   551  (module
   552    (table $t0 30 30 funcref)
   553    (table $t1 28 28 funcref)
   554    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   555    (elem funcref
   556      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   557    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   558    (elem funcref
   559      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   560    (func (result i32) (i32.const 0))
   561    (func (result i32) (i32.const 1))
   562    (func (result i32) (i32.const 2))
   563    (func (result i32) (i32.const 3))
   564    (func (result i32) (i32.const 4))
   565    (func (result i32) (i32.const 5))
   566    (func (result i32) (i32.const 6))
   567    (func (result i32) (i32.const 7))
   568    (func (result i32) (i32.const 8))
   569    (func (result i32) (i32.const 9))
   570    (func (export "test")
   571      (table.init 1 (i32.const 12) (i32.const 2) (i32.const 3))
   572      ))
   573  (assert_trap (invoke "test") "out of bounds table access")
   574  
   575  (module
   576    (table $t0 30 30 funcref)
   577    (table $t1 28 28 funcref)
   578    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   579    (elem funcref
   580      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   581    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   582    (elem funcref
   583      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   584    (func (result i32) (i32.const 0))
   585    (func (result i32) (i32.const 1))
   586    (func (result i32) (i32.const 2))
   587    (func (result i32) (i32.const 3))
   588    (func (result i32) (i32.const 4))
   589    (func (result i32) (i32.const 5))
   590    (func (result i32) (i32.const 6))
   591    (func (result i32) (i32.const 7))
   592    (func (result i32) (i32.const 8))
   593    (func (result i32) (i32.const 9))
   594    (func (export "test")
   595      (table.init $t0 1 (i32.const 28) (i32.const 1) (i32.const 3))
   596      ))
   597  (assert_trap (invoke "test") "out of bounds table access")
   598  
   599  (module
   600    (table $t0 30 30 funcref)
   601    (table $t1 28 28 funcref)
   602    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   603    (elem funcref
   604      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   605    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   606    (elem funcref
   607      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   608    (func (result i32) (i32.const 0))
   609    (func (result i32) (i32.const 1))
   610    (func (result i32) (i32.const 2))
   611    (func (result i32) (i32.const 3))
   612    (func (result i32) (i32.const 4))
   613    (func (result i32) (i32.const 5))
   614    (func (result i32) (i32.const 6))
   615    (func (result i32) (i32.const 7))
   616    (func (result i32) (i32.const 8))
   617    (func (result i32) (i32.const 9))
   618    (func (export "test")
   619      (table.init $t0 1 (i32.const 12) (i32.const 4) (i32.const 0))
   620      ))
   621  (invoke "test")
   622  
   623  (module
   624    (table $t0 30 30 funcref)
   625    (table $t1 28 28 funcref)
   626    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   627    (elem funcref
   628      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   629    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   630    (elem funcref
   631      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   632    (func (result i32) (i32.const 0))
   633    (func (result i32) (i32.const 1))
   634    (func (result i32) (i32.const 2))
   635    (func (result i32) (i32.const 3))
   636    (func (result i32) (i32.const 4))
   637    (func (result i32) (i32.const 5))
   638    (func (result i32) (i32.const 6))
   639    (func (result i32) (i32.const 7))
   640    (func (result i32) (i32.const 8))
   641    (func (result i32) (i32.const 9))
   642    (func (export "test")
   643      (table.init $t0 1 (i32.const 12) (i32.const 5) (i32.const 0))
   644      ))
   645  (assert_trap (invoke "test") "out of bounds table access")
   646  
   647  (module
   648    (table $t0 30 30 funcref)
   649    (table $t1 28 28 funcref)
   650    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   651    (elem funcref
   652      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   653    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   654    (elem funcref
   655      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   656    (func (result i32) (i32.const 0))
   657    (func (result i32) (i32.const 1))
   658    (func (result i32) (i32.const 2))
   659    (func (result i32) (i32.const 3))
   660    (func (result i32) (i32.const 4))
   661    (func (result i32) (i32.const 5))
   662    (func (result i32) (i32.const 6))
   663    (func (result i32) (i32.const 7))
   664    (func (result i32) (i32.const 8))
   665    (func (result i32) (i32.const 9))
   666    (func (export "test")
   667      (table.init $t0 1 (i32.const 30) (i32.const 2) (i32.const 0))
   668      ))
   669  (invoke "test")
   670  
   671  (module
   672    (table $t0 30 30 funcref)
   673    (table $t1 28 28 funcref)
   674    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   675    (elem funcref
   676      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   677    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   678    (elem funcref
   679      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   680    (func (result i32) (i32.const 0))
   681    (func (result i32) (i32.const 1))
   682    (func (result i32) (i32.const 2))
   683    (func (result i32) (i32.const 3))
   684    (func (result i32) (i32.const 4))
   685    (func (result i32) (i32.const 5))
   686    (func (result i32) (i32.const 6))
   687    (func (result i32) (i32.const 7))
   688    (func (result i32) (i32.const 8))
   689    (func (result i32) (i32.const 9))
   690    (func (export "test")
   691      (table.init $t0 1 (i32.const 31) (i32.const 2) (i32.const 0))
   692      ))
   693  (assert_trap (invoke "test") "out of bounds table access")
   694  
   695  (module
   696    (table $t0 30 30 funcref)
   697    (table $t1 28 28 funcref)
   698    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   699    (elem funcref
   700      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   701    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   702    (elem funcref
   703      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   704    (func (result i32) (i32.const 0))
   705    (func (result i32) (i32.const 1))
   706    (func (result i32) (i32.const 2))
   707    (func (result i32) (i32.const 3))
   708    (func (result i32) (i32.const 4))
   709    (func (result i32) (i32.const 5))
   710    (func (result i32) (i32.const 6))
   711    (func (result i32) (i32.const 7))
   712    (func (result i32) (i32.const 8))
   713    (func (result i32) (i32.const 9))
   714    (func (export "test")
   715      (table.init $t0 1 (i32.const 30) (i32.const 4) (i32.const 0))
   716      ))
   717  (invoke "test")
   718  
   719  (module
   720    (table $t0 30 30 funcref)
   721    (table $t1 28 28 funcref)
   722    (elem (table $t0) (i32.const 2) func 3 1 4 1)
   723    (elem funcref
   724      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   725    (elem (table $t0) (i32.const 12) func 7 5 2 3 6)
   726    (elem funcref
   727      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   728    (func (result i32) (i32.const 0))
   729    (func (result i32) (i32.const 1))
   730    (func (result i32) (i32.const 2))
   731    (func (result i32) (i32.const 3))
   732    (func (result i32) (i32.const 4))
   733    (func (result i32) (i32.const 5))
   734    (func (result i32) (i32.const 6))
   735    (func (result i32) (i32.const 7))
   736    (func (result i32) (i32.const 8))
   737    (func (result i32) (i32.const 9))
   738    (func (export "test")
   739      (table.init $t0 1 (i32.const 31) (i32.const 5) (i32.const 0))
   740      ))
   741  (assert_trap (invoke "test") "out of bounds table access")
   742  
   743  (module
   744    (table $t0 30 30 funcref)
   745    (table $t1 28 28 funcref)
   746    (elem (table $t1) (i32.const 2) func 3 1 4 1)
   747    (elem funcref
   748      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   749    (elem (table $t1) (i32.const 12) func 7 5 2 3 6)
   750    (elem funcref
   751      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   752    (func (result i32) (i32.const 0))
   753    (func (result i32) (i32.const 1))
   754    (func (result i32) (i32.const 2))
   755    (func (result i32) (i32.const 3))
   756    (func (result i32) (i32.const 4))
   757    (func (result i32) (i32.const 5))
   758    (func (result i32) (i32.const 6))
   759    (func (result i32) (i32.const 7))
   760    (func (result i32) (i32.const 8))
   761    (func (result i32) (i32.const 9))
   762    (func (export "test")
   763      (table.init $t1 1 (i32.const 26) (i32.const 1) (i32.const 3))
   764      ))
   765  (assert_trap (invoke "test") "out of bounds table access")
   766  
   767  (module
   768    (table $t0 30 30 funcref)
   769    (table $t1 28 28 funcref)
   770    (elem (table $t1) (i32.const 2) func 3 1 4 1)
   771    (elem funcref
   772      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   773    (elem (table $t1) (i32.const 12) func 7 5 2 3 6)
   774    (elem funcref
   775      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   776    (func (result i32) (i32.const 0))
   777    (func (result i32) (i32.const 1))
   778    (func (result i32) (i32.const 2))
   779    (func (result i32) (i32.const 3))
   780    (func (result i32) (i32.const 4))
   781    (func (result i32) (i32.const 5))
   782    (func (result i32) (i32.const 6))
   783    (func (result i32) (i32.const 7))
   784    (func (result i32) (i32.const 8))
   785    (func (result i32) (i32.const 9))
   786    (func (export "test")
   787      (table.init $t1 1 (i32.const 12) (i32.const 4) (i32.const 0))
   788      ))
   789  (invoke "test")
   790  
   791  (module
   792    (table $t0 30 30 funcref)
   793    (table $t1 28 28 funcref)
   794    (elem (table $t1) (i32.const 2) func 3 1 4 1)
   795    (elem funcref
   796      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   797    (elem (table $t1) (i32.const 12) func 7 5 2 3 6)
   798    (elem funcref
   799      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   800    (func (result i32) (i32.const 0))
   801    (func (result i32) (i32.const 1))
   802    (func (result i32) (i32.const 2))
   803    (func (result i32) (i32.const 3))
   804    (func (result i32) (i32.const 4))
   805    (func (result i32) (i32.const 5))
   806    (func (result i32) (i32.const 6))
   807    (func (result i32) (i32.const 7))
   808    (func (result i32) (i32.const 8))
   809    (func (result i32) (i32.const 9))
   810    (func (export "test")
   811      (table.init $t1 1 (i32.const 12) (i32.const 5) (i32.const 0))
   812      ))
   813  (assert_trap (invoke "test") "out of bounds table access")
   814  
   815  (module
   816    (table $t0 30 30 funcref)
   817    (table $t1 28 28 funcref)
   818    (elem (table $t1) (i32.const 2) func 3 1 4 1)
   819    (elem funcref
   820      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   821    (elem (table $t1) (i32.const 12) func 7 5 2 3 6)
   822    (elem funcref
   823      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   824    (func (result i32) (i32.const 0))
   825    (func (result i32) (i32.const 1))
   826    (func (result i32) (i32.const 2))
   827    (func (result i32) (i32.const 3))
   828    (func (result i32) (i32.const 4))
   829    (func (result i32) (i32.const 5))
   830    (func (result i32) (i32.const 6))
   831    (func (result i32) (i32.const 7))
   832    (func (result i32) (i32.const 8))
   833    (func (result i32) (i32.const 9))
   834    (func (export "test")
   835      (table.init $t1 1 (i32.const 28) (i32.const 2) (i32.const 0))
   836      ))
   837  (invoke "test")
   838  
   839  (module
   840    (table $t0 30 30 funcref)
   841    (table $t1 28 28 funcref)
   842    (elem (table $t1) (i32.const 2) func 3 1 4 1)
   843    (elem funcref
   844      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   845    (elem (table $t1) (i32.const 12) func 7 5 2 3 6)
   846    (elem funcref
   847      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   848    (func (result i32) (i32.const 0))
   849    (func (result i32) (i32.const 1))
   850    (func (result i32) (i32.const 2))
   851    (func (result i32) (i32.const 3))
   852    (func (result i32) (i32.const 4))
   853    (func (result i32) (i32.const 5))
   854    (func (result i32) (i32.const 6))
   855    (func (result i32) (i32.const 7))
   856    (func (result i32) (i32.const 8))
   857    (func (result i32) (i32.const 9))
   858    (func (export "test")
   859      (table.init $t1 1 (i32.const 29) (i32.const 2) (i32.const 0))
   860      ))
   861  (assert_trap (invoke "test") "out of bounds table access")
   862  
   863  (module
   864    (table $t0 30 30 funcref)
   865    (table $t1 28 28 funcref)
   866    (elem (table $t1) (i32.const 2) func 3 1 4 1)
   867    (elem funcref
   868      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   869    (elem (table $t1) (i32.const 12) func 7 5 2 3 6)
   870    (elem funcref
   871      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   872    (func (result i32) (i32.const 0))
   873    (func (result i32) (i32.const 1))
   874    (func (result i32) (i32.const 2))
   875    (func (result i32) (i32.const 3))
   876    (func (result i32) (i32.const 4))
   877    (func (result i32) (i32.const 5))
   878    (func (result i32) (i32.const 6))
   879    (func (result i32) (i32.const 7))
   880    (func (result i32) (i32.const 8))
   881    (func (result i32) (i32.const 9))
   882    (func (export "test")
   883      (table.init $t1 1 (i32.const 28) (i32.const 4) (i32.const 0))
   884      ))
   885  (invoke "test")
   886  
   887  (module
   888    (table $t0 30 30 funcref)
   889    (table $t1 28 28 funcref)
   890    (elem (table $t1) (i32.const 2) func 3 1 4 1)
   891    (elem funcref
   892      (ref.func 2) (ref.func 7) (ref.func 1) (ref.func 8))
   893    (elem (table $t1) (i32.const 12) func 7 5 2 3 6)
   894    (elem funcref
   895      (ref.func 5) (ref.func 9) (ref.func 2) (ref.func 7) (ref.func 6))
   896    (func (result i32) (i32.const 0))
   897    (func (result i32) (i32.const 1))
   898    (func (result i32) (i32.const 2))
   899    (func (result i32) (i32.const 3))
   900    (func (result i32) (i32.const 4))
   901    (func (result i32) (i32.const 5))
   902    (func (result i32) (i32.const 6))
   903    (func (result i32) (i32.const 7))
   904    (func (result i32) (i32.const 8))
   905    (func (result i32) (i32.const 9))
   906    (func (export "test")
   907      (table.init $t1 1 (i32.const 29) (i32.const 5) (i32.const 0))
   908      ))
   909  (assert_trap (invoke "test") "out of bounds table access")
   910  
   911  (assert_invalid
   912    (module
   913      (table 10 funcref)
   914      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
   915      (func $f0)
   916      (func (export "test")
   917        (table.init 0 (i32.const 1) (i32.const 1) (f32.const 1))))
   918    "type mismatch")
   919  
   920  (assert_invalid
   921    (module
   922      (table 10 funcref)
   923      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
   924      (func $f0)
   925      (func (export "test")
   926        (table.init 0 (i32.const 1) (i32.const 1) (i64.const 1))))
   927    "type mismatch")
   928  
   929  (assert_invalid
   930    (module
   931      (table 10 funcref)
   932      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
   933      (func $f0)
   934      (func (export "test")
   935        (table.init 0 (i32.const 1) (i32.const 1) (f64.const 1))))
   936    "type mismatch")
   937  
   938  (assert_invalid
   939    (module
   940      (table 10 funcref)
   941      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
   942      (func $f0)
   943      (func (export "test")
   944        (table.init 0 (i32.const 1) (f32.const 1) (i32.const 1))))
   945    "type mismatch")
   946  
   947  (assert_invalid
   948    (module
   949      (table 10 funcref)
   950      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
   951      (func $f0)
   952      (func (export "test")
   953        (table.init 0 (i32.const 1) (f32.const 1) (f32.const 1))))
   954    "type mismatch")
   955  
   956  (assert_invalid
   957    (module
   958      (table 10 funcref)
   959      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
   960      (func $f0)
   961      (func (export "test")
   962        (table.init 0 (i32.const 1) (f32.const 1) (i64.const 1))))
   963    "type mismatch")
   964  
   965  (assert_invalid
   966    (module
   967      (table 10 funcref)
   968      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
   969      (func $f0)
   970      (func (export "test")
   971        (table.init 0 (i32.const 1) (f32.const 1) (f64.const 1))))
   972    "type mismatch")
   973  
   974  (assert_invalid
   975    (module
   976      (table 10 funcref)
   977      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
   978      (func $f0)
   979      (func (export "test")
   980        (table.init 0 (i32.const 1) (i64.const 1) (i32.const 1))))
   981    "type mismatch")
   982  
   983  (assert_invalid
   984    (module
   985      (table 10 funcref)
   986      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
   987      (func $f0)
   988      (func (export "test")
   989        (table.init 0 (i32.const 1) (i64.const 1) (f32.const 1))))
   990    "type mismatch")
   991  
   992  (assert_invalid
   993    (module
   994      (table 10 funcref)
   995      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
   996      (func $f0)
   997      (func (export "test")
   998        (table.init 0 (i32.const 1) (i64.const 1) (i64.const 1))))
   999    "type mismatch")
  1000  
  1001  (assert_invalid
  1002    (module
  1003      (table 10 funcref)
  1004      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1005      (func $f0)
  1006      (func (export "test")
  1007        (table.init 0 (i32.const 1) (i64.const 1) (f64.const 1))))
  1008    "type mismatch")
  1009  
  1010  (assert_invalid
  1011    (module
  1012      (table 10 funcref)
  1013      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1014      (func $f0)
  1015      (func (export "test")
  1016        (table.init 0 (i32.const 1) (f64.const 1) (i32.const 1))))
  1017    "type mismatch")
  1018  
  1019  (assert_invalid
  1020    (module
  1021      (table 10 funcref)
  1022      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1023      (func $f0)
  1024      (func (export "test")
  1025        (table.init 0 (i32.const 1) (f64.const 1) (f32.const 1))))
  1026    "type mismatch")
  1027  
  1028  (assert_invalid
  1029    (module
  1030      (table 10 funcref)
  1031      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1032      (func $f0)
  1033      (func (export "test")
  1034        (table.init 0 (i32.const 1) (f64.const 1) (i64.const 1))))
  1035    "type mismatch")
  1036  
  1037  (assert_invalid
  1038    (module
  1039      (table 10 funcref)
  1040      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1041      (func $f0)
  1042      (func (export "test")
  1043        (table.init 0 (i32.const 1) (f64.const 1) (f64.const 1))))
  1044    "type mismatch")
  1045  
  1046  (assert_invalid
  1047    (module
  1048      (table 10 funcref)
  1049      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1050      (func $f0)
  1051      (func (export "test")
  1052        (table.init 0 (f32.const 1) (i32.const 1) (i32.const 1))))
  1053    "type mismatch")
  1054  
  1055  (assert_invalid
  1056    (module
  1057      (table 10 funcref)
  1058      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1059      (func $f0)
  1060      (func (export "test")
  1061        (table.init 0 (f32.const 1) (i32.const 1) (f32.const 1))))
  1062    "type mismatch")
  1063  
  1064  (assert_invalid
  1065    (module
  1066      (table 10 funcref)
  1067      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1068      (func $f0)
  1069      (func (export "test")
  1070        (table.init 0 (f32.const 1) (i32.const 1) (i64.const 1))))
  1071    "type mismatch")
  1072  
  1073  (assert_invalid
  1074    (module
  1075      (table 10 funcref)
  1076      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1077      (func $f0)
  1078      (func (export "test")
  1079        (table.init 0 (f32.const 1) (i32.const 1) (f64.const 1))))
  1080    "type mismatch")
  1081  
  1082  (assert_invalid
  1083    (module
  1084      (table 10 funcref)
  1085      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1086      (func $f0)
  1087      (func (export "test")
  1088        (table.init 0 (f32.const 1) (f32.const 1) (i32.const 1))))
  1089    "type mismatch")
  1090  
  1091  (assert_invalid
  1092    (module
  1093      (table 10 funcref)
  1094      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1095      (func $f0)
  1096      (func (export "test")
  1097        (table.init 0 (f32.const 1) (f32.const 1) (f32.const 1))))
  1098    "type mismatch")
  1099  
  1100  (assert_invalid
  1101    (module
  1102      (table 10 funcref)
  1103      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1104      (func $f0)
  1105      (func (export "test")
  1106        (table.init 0 (f32.const 1) (f32.const 1) (i64.const 1))))
  1107    "type mismatch")
  1108  
  1109  (assert_invalid
  1110    (module
  1111      (table 10 funcref)
  1112      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1113      (func $f0)
  1114      (func (export "test")
  1115        (table.init 0 (f32.const 1) (f32.const 1) (f64.const 1))))
  1116    "type mismatch")
  1117  
  1118  (assert_invalid
  1119    (module
  1120      (table 10 funcref)
  1121      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1122      (func $f0)
  1123      (func (export "test")
  1124        (table.init 0 (f32.const 1) (i64.const 1) (i32.const 1))))
  1125    "type mismatch")
  1126  
  1127  (assert_invalid
  1128    (module
  1129      (table 10 funcref)
  1130      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1131      (func $f0)
  1132      (func (export "test")
  1133        (table.init 0 (f32.const 1) (i64.const 1) (f32.const 1))))
  1134    "type mismatch")
  1135  
  1136  (assert_invalid
  1137    (module
  1138      (table 10 funcref)
  1139      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1140      (func $f0)
  1141      (func (export "test")
  1142        (table.init 0 (f32.const 1) (i64.const 1) (i64.const 1))))
  1143    "type mismatch")
  1144  
  1145  (assert_invalid
  1146    (module
  1147      (table 10 funcref)
  1148      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1149      (func $f0)
  1150      (func (export "test")
  1151        (table.init 0 (f32.const 1) (i64.const 1) (f64.const 1))))
  1152    "type mismatch")
  1153  
  1154  (assert_invalid
  1155    (module
  1156      (table 10 funcref)
  1157      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1158      (func $f0)
  1159      (func (export "test")
  1160        (table.init 0 (f32.const 1) (f64.const 1) (i32.const 1))))
  1161    "type mismatch")
  1162  
  1163  (assert_invalid
  1164    (module
  1165      (table 10 funcref)
  1166      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1167      (func $f0)
  1168      (func (export "test")
  1169        (table.init 0 (f32.const 1) (f64.const 1) (f32.const 1))))
  1170    "type mismatch")
  1171  
  1172  (assert_invalid
  1173    (module
  1174      (table 10 funcref)
  1175      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1176      (func $f0)
  1177      (func (export "test")
  1178        (table.init 0 (f32.const 1) (f64.const 1) (i64.const 1))))
  1179    "type mismatch")
  1180  
  1181  (assert_invalid
  1182    (module
  1183      (table 10 funcref)
  1184      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1185      (func $f0)
  1186      (func (export "test")
  1187        (table.init 0 (f32.const 1) (f64.const 1) (f64.const 1))))
  1188    "type mismatch")
  1189  
  1190  (assert_invalid
  1191    (module
  1192      (table 10 funcref)
  1193      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1194      (func $f0)
  1195      (func (export "test")
  1196        (table.init 0 (i64.const 1) (i32.const 1) (i32.const 1))))
  1197    "type mismatch")
  1198  
  1199  (assert_invalid
  1200    (module
  1201      (table 10 funcref)
  1202      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1203      (func $f0)
  1204      (func (export "test")
  1205        (table.init 0 (i64.const 1) (i32.const 1) (f32.const 1))))
  1206    "type mismatch")
  1207  
  1208  (assert_invalid
  1209    (module
  1210      (table 10 funcref)
  1211      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1212      (func $f0)
  1213      (func (export "test")
  1214        (table.init 0 (i64.const 1) (i32.const 1) (i64.const 1))))
  1215    "type mismatch")
  1216  
  1217  (assert_invalid
  1218    (module
  1219      (table 10 funcref)
  1220      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1221      (func $f0)
  1222      (func (export "test")
  1223        (table.init 0 (i64.const 1) (i32.const 1) (f64.const 1))))
  1224    "type mismatch")
  1225  
  1226  (assert_invalid
  1227    (module
  1228      (table 10 funcref)
  1229      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1230      (func $f0)
  1231      (func (export "test")
  1232        (table.init 0 (i64.const 1) (f32.const 1) (i32.const 1))))
  1233    "type mismatch")
  1234  
  1235  (assert_invalid
  1236    (module
  1237      (table 10 funcref)
  1238      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1239      (func $f0)
  1240      (func (export "test")
  1241        (table.init 0 (i64.const 1) (f32.const 1) (f32.const 1))))
  1242    "type mismatch")
  1243  
  1244  (assert_invalid
  1245    (module
  1246      (table 10 funcref)
  1247      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1248      (func $f0)
  1249      (func (export "test")
  1250        (table.init 0 (i64.const 1) (f32.const 1) (i64.const 1))))
  1251    "type mismatch")
  1252  
  1253  (assert_invalid
  1254    (module
  1255      (table 10 funcref)
  1256      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1257      (func $f0)
  1258      (func (export "test")
  1259        (table.init 0 (i64.const 1) (f32.const 1) (f64.const 1))))
  1260    "type mismatch")
  1261  
  1262  (assert_invalid
  1263    (module
  1264      (table 10 funcref)
  1265      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1266      (func $f0)
  1267      (func (export "test")
  1268        (table.init 0 (i64.const 1) (i64.const 1) (i32.const 1))))
  1269    "type mismatch")
  1270  
  1271  (assert_invalid
  1272    (module
  1273      (table 10 funcref)
  1274      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1275      (func $f0)
  1276      (func (export "test")
  1277        (table.init 0 (i64.const 1) (i64.const 1) (f32.const 1))))
  1278    "type mismatch")
  1279  
  1280  (assert_invalid
  1281    (module
  1282      (table 10 funcref)
  1283      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1284      (func $f0)
  1285      (func (export "test")
  1286        (table.init 0 (i64.const 1) (i64.const 1) (i64.const 1))))
  1287    "type mismatch")
  1288  
  1289  (assert_invalid
  1290    (module
  1291      (table 10 funcref)
  1292      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1293      (func $f0)
  1294      (func (export "test")
  1295        (table.init 0 (i64.const 1) (i64.const 1) (f64.const 1))))
  1296    "type mismatch")
  1297  
  1298  (assert_invalid
  1299    (module
  1300      (table 10 funcref)
  1301      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1302      (func $f0)
  1303      (func (export "test")
  1304        (table.init 0 (i64.const 1) (f64.const 1) (i32.const 1))))
  1305    "type mismatch")
  1306  
  1307  (assert_invalid
  1308    (module
  1309      (table 10 funcref)
  1310      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1311      (func $f0)
  1312      (func (export "test")
  1313        (table.init 0 (i64.const 1) (f64.const 1) (f32.const 1))))
  1314    "type mismatch")
  1315  
  1316  (assert_invalid
  1317    (module
  1318      (table 10 funcref)
  1319      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1320      (func $f0)
  1321      (func (export "test")
  1322        (table.init 0 (i64.const 1) (f64.const 1) (i64.const 1))))
  1323    "type mismatch")
  1324  
  1325  (assert_invalid
  1326    (module
  1327      (table 10 funcref)
  1328      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1329      (func $f0)
  1330      (func (export "test")
  1331        (table.init 0 (i64.const 1) (f64.const 1) (f64.const 1))))
  1332    "type mismatch")
  1333  
  1334  (assert_invalid
  1335    (module
  1336      (table 10 funcref)
  1337      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1338      (func $f0)
  1339      (func (export "test")
  1340        (table.init 0 (f64.const 1) (i32.const 1) (i32.const 1))))
  1341    "type mismatch")
  1342  
  1343  (assert_invalid
  1344    (module
  1345      (table 10 funcref)
  1346      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1347      (func $f0)
  1348      (func (export "test")
  1349        (table.init 0 (f64.const 1) (i32.const 1) (f32.const 1))))
  1350    "type mismatch")
  1351  
  1352  (assert_invalid
  1353    (module
  1354      (table 10 funcref)
  1355      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1356      (func $f0)
  1357      (func (export "test")
  1358        (table.init 0 (f64.const 1) (i32.const 1) (i64.const 1))))
  1359    "type mismatch")
  1360  
  1361  (assert_invalid
  1362    (module
  1363      (table 10 funcref)
  1364      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1365      (func $f0)
  1366      (func (export "test")
  1367        (table.init 0 (f64.const 1) (i32.const 1) (f64.const 1))))
  1368    "type mismatch")
  1369  
  1370  (assert_invalid
  1371    (module
  1372      (table 10 funcref)
  1373      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1374      (func $f0)
  1375      (func (export "test")
  1376        (table.init 0 (f64.const 1) (f32.const 1) (i32.const 1))))
  1377    "type mismatch")
  1378  
  1379  (assert_invalid
  1380    (module
  1381      (table 10 funcref)
  1382      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1383      (func $f0)
  1384      (func (export "test")
  1385        (table.init 0 (f64.const 1) (f32.const 1) (f32.const 1))))
  1386    "type mismatch")
  1387  
  1388  (assert_invalid
  1389    (module
  1390      (table 10 funcref)
  1391      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1392      (func $f0)
  1393      (func (export "test")
  1394        (table.init 0 (f64.const 1) (f32.const 1) (i64.const 1))))
  1395    "type mismatch")
  1396  
  1397  (assert_invalid
  1398    (module
  1399      (table 10 funcref)
  1400      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1401      (func $f0)
  1402      (func (export "test")
  1403        (table.init 0 (f64.const 1) (f32.const 1) (f64.const 1))))
  1404    "type mismatch")
  1405  
  1406  (assert_invalid
  1407    (module
  1408      (table 10 funcref)
  1409      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1410      (func $f0)
  1411      (func (export "test")
  1412        (table.init 0 (f64.const 1) (i64.const 1) (i32.const 1))))
  1413    "type mismatch")
  1414  
  1415  (assert_invalid
  1416    (module
  1417      (table 10 funcref)
  1418      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1419      (func $f0)
  1420      (func (export "test")
  1421        (table.init 0 (f64.const 1) (i64.const 1) (f32.const 1))))
  1422    "type mismatch")
  1423  
  1424  (assert_invalid
  1425    (module
  1426      (table 10 funcref)
  1427      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1428      (func $f0)
  1429      (func (export "test")
  1430        (table.init 0 (f64.const 1) (i64.const 1) (i64.const 1))))
  1431    "type mismatch")
  1432  
  1433  (assert_invalid
  1434    (module
  1435      (table 10 funcref)
  1436      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1437      (func $f0)
  1438      (func (export "test")
  1439        (table.init 0 (f64.const 1) (i64.const 1) (f64.const 1))))
  1440    "type mismatch")
  1441  
  1442  (assert_invalid
  1443    (module
  1444      (table 10 funcref)
  1445      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1446      (func $f0)
  1447      (func (export "test")
  1448        (table.init 0 (f64.const 1) (f64.const 1) (i32.const 1))))
  1449    "type mismatch")
  1450  
  1451  (assert_invalid
  1452    (module
  1453      (table 10 funcref)
  1454      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1455      (func $f0)
  1456      (func (export "test")
  1457        (table.init 0 (f64.const 1) (f64.const 1) (f32.const 1))))
  1458    "type mismatch")
  1459  
  1460  (assert_invalid
  1461    (module
  1462      (table 10 funcref)
  1463      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1464      (func $f0)
  1465      (func (export "test")
  1466        (table.init 0 (f64.const 1) (f64.const 1) (i64.const 1))))
  1467    "type mismatch")
  1468  
  1469  (assert_invalid
  1470    (module
  1471      (table 10 funcref)
  1472      (elem funcref (ref.func $f0) (ref.func $f0) (ref.func $f0))
  1473      (func $f0)
  1474      (func (export "test")
  1475        (table.init 0 (f64.const 1) (f64.const 1) (f64.const 1))))
  1476    "type mismatch")
  1477  
  1478  (module
  1479    (type (func (result i32)))
  1480    (table 32 64 funcref)
  1481    (elem funcref
  1482      (ref.func $f0) (ref.func $f1) (ref.func $f2) (ref.func $f3)
  1483      (ref.func $f4) (ref.func $f5) (ref.func $f6) (ref.func $f7)
  1484      (ref.func $f8) (ref.func $f9) (ref.func $f10) (ref.func $f11)
  1485      (ref.func $f12) (ref.func $f13) (ref.func $f14) (ref.func $f15))
  1486    (func $f0 (export "f0") (result i32) (i32.const 0))
  1487    (func $f1 (export "f1") (result i32) (i32.const 1))
  1488    (func $f2 (export "f2") (result i32) (i32.const 2))
  1489    (func $f3 (export "f3") (result i32) (i32.const 3))
  1490    (func $f4 (export "f4") (result i32) (i32.const 4))
  1491    (func $f5 (export "f5") (result i32) (i32.const 5))
  1492    (func $f6 (export "f6") (result i32) (i32.const 6))
  1493    (func $f7 (export "f7") (result i32) (i32.const 7))
  1494    (func $f8 (export "f8") (result i32) (i32.const 8))
  1495    (func $f9 (export "f9") (result i32) (i32.const 9))
  1496    (func $f10 (export "f10") (result i32) (i32.const 10))
  1497    (func $f11 (export "f11") (result i32) (i32.const 11))
  1498    (func $f12 (export "f12") (result i32) (i32.const 12))
  1499    (func $f13 (export "f13") (result i32) (i32.const 13))
  1500    (func $f14 (export "f14") (result i32) (i32.const 14))
  1501    (func $f15 (export "f15") (result i32) (i32.const 15))
  1502    (func (export "test") (param $n i32) (result i32)
  1503      (call_indirect (type 0) (local.get $n)))
  1504    (func (export "run") (param $offs i32) (param $len i32)
  1505      (table.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
  1506  (assert_trap (invoke "run" (i32.const 24) (i32.const 16)) "out of bounds table access")
  1507  (assert_trap (invoke "test" (i32.const 0)) "uninitialized element")
  1508  (assert_trap (invoke "test" (i32.const 1)) "uninitialized element")
  1509  (assert_trap (invoke "test" (i32.const 2)) "uninitialized element")
  1510  (assert_trap (invoke "test" (i32.const 3)) "uninitialized element")
  1511  (assert_trap (invoke "test" (i32.const 4)) "uninitialized element")
  1512  (assert_trap (invoke "test" (i32.const 5)) "uninitialized element")
  1513  (assert_trap (invoke "test" (i32.const 6)) "uninitialized element")
  1514  (assert_trap (invoke "test" (i32.const 7)) "uninitialized element")
  1515  (assert_trap (invoke "test" (i32.const 8)) "uninitialized element")
  1516  (assert_trap (invoke "test" (i32.const 9)) "uninitialized element")
  1517  (assert_trap (invoke "test" (i32.const 10)) "uninitialized element")
  1518  (assert_trap (invoke "test" (i32.const 11)) "uninitialized element")
  1519  (assert_trap (invoke "test" (i32.const 12)) "uninitialized element")
  1520  (assert_trap (invoke "test" (i32.const 13)) "uninitialized element")
  1521  (assert_trap (invoke "test" (i32.const 14)) "uninitialized element")
  1522  (assert_trap (invoke "test" (i32.const 15)) "uninitialized element")
  1523  (assert_trap (invoke "test" (i32.const 16)) "uninitialized element")
  1524  (assert_trap (invoke "test" (i32.const 17)) "uninitialized element")
  1525  (assert_trap (invoke "test" (i32.const 18)) "uninitialized element")
  1526  (assert_trap (invoke "test" (i32.const 19)) "uninitialized element")
  1527  (assert_trap (invoke "test" (i32.const 20)) "uninitialized element")
  1528  (assert_trap (invoke "test" (i32.const 21)) "uninitialized element")
  1529  (assert_trap (invoke "test" (i32.const 22)) "uninitialized element")
  1530  (assert_trap (invoke "test" (i32.const 23)) "uninitialized element")
  1531  (assert_trap (invoke "test" (i32.const 24)) "uninitialized element")
  1532  (assert_trap (invoke "test" (i32.const 25)) "uninitialized element")
  1533  (assert_trap (invoke "test" (i32.const 26)) "uninitialized element")
  1534  (assert_trap (invoke "test" (i32.const 27)) "uninitialized element")
  1535  (assert_trap (invoke "test" (i32.const 28)) "uninitialized element")
  1536  (assert_trap (invoke "test" (i32.const 29)) "uninitialized element")
  1537  (assert_trap (invoke "test" (i32.const 30)) "uninitialized element")
  1538  (assert_trap (invoke "test" (i32.const 31)) "uninitialized element")
  1539  
  1540  (module
  1541    (type (func (result i32)))
  1542    (table 32 64 funcref)
  1543    (elem funcref
  1544      (ref.func $f0) (ref.func $f1) (ref.func $f2) (ref.func $f3)
  1545      (ref.func $f4) (ref.func $f5) (ref.func $f6) (ref.func $f7)
  1546      (ref.func $f8) (ref.func $f9) (ref.func $f10) (ref.func $f11)
  1547      (ref.func $f12) (ref.func $f13) (ref.func $f14) (ref.func $f15))
  1548    (func $f0 (export "f0") (result i32) (i32.const 0))
  1549    (func $f1 (export "f1") (result i32) (i32.const 1))
  1550    (func $f2 (export "f2") (result i32) (i32.const 2))
  1551    (func $f3 (export "f3") (result i32) (i32.const 3))
  1552    (func $f4 (export "f4") (result i32) (i32.const 4))
  1553    (func $f5 (export "f5") (result i32) (i32.const 5))
  1554    (func $f6 (export "f6") (result i32) (i32.const 6))
  1555    (func $f7 (export "f7") (result i32) (i32.const 7))
  1556    (func $f8 (export "f8") (result i32) (i32.const 8))
  1557    (func $f9 (export "f9") (result i32) (i32.const 9))
  1558    (func $f10 (export "f10") (result i32) (i32.const 10))
  1559    (func $f11 (export "f11") (result i32) (i32.const 11))
  1560    (func $f12 (export "f12") (result i32) (i32.const 12))
  1561    (func $f13 (export "f13") (result i32) (i32.const 13))
  1562    (func $f14 (export "f14") (result i32) (i32.const 14))
  1563    (func $f15 (export "f15") (result i32) (i32.const 15))
  1564    (func (export "test") (param $n i32) (result i32)
  1565      (call_indirect (type 0) (local.get $n)))
  1566    (func (export "run") (param $offs i32) (param $len i32)
  1567      (table.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
  1568  (assert_trap (invoke "run" (i32.const 25) (i32.const 16)) "out of bounds table access")
  1569  (assert_trap (invoke "test" (i32.const 0)) "uninitialized element")
  1570  (assert_trap (invoke "test" (i32.const 1)) "uninitialized element")
  1571  (assert_trap (invoke "test" (i32.const 2)) "uninitialized element")
  1572  (assert_trap (invoke "test" (i32.const 3)) "uninitialized element")
  1573  (assert_trap (invoke "test" (i32.const 4)) "uninitialized element")
  1574  (assert_trap (invoke "test" (i32.const 5)) "uninitialized element")
  1575  (assert_trap (invoke "test" (i32.const 6)) "uninitialized element")
  1576  (assert_trap (invoke "test" (i32.const 7)) "uninitialized element")
  1577  (assert_trap (invoke "test" (i32.const 8)) "uninitialized element")
  1578  (assert_trap (invoke "test" (i32.const 9)) "uninitialized element")
  1579  (assert_trap (invoke "test" (i32.const 10)) "uninitialized element")
  1580  (assert_trap (invoke "test" (i32.const 11)) "uninitialized element")
  1581  (assert_trap (invoke "test" (i32.const 12)) "uninitialized element")
  1582  (assert_trap (invoke "test" (i32.const 13)) "uninitialized element")
  1583  (assert_trap (invoke "test" (i32.const 14)) "uninitialized element")
  1584  (assert_trap (invoke "test" (i32.const 15)) "uninitialized element")
  1585  (assert_trap (invoke "test" (i32.const 16)) "uninitialized element")
  1586  (assert_trap (invoke "test" (i32.const 17)) "uninitialized element")
  1587  (assert_trap (invoke "test" (i32.const 18)) "uninitialized element")
  1588  (assert_trap (invoke "test" (i32.const 19)) "uninitialized element")
  1589  (assert_trap (invoke "test" (i32.const 20)) "uninitialized element")
  1590  (assert_trap (invoke "test" (i32.const 21)) "uninitialized element")
  1591  (assert_trap (invoke "test" (i32.const 22)) "uninitialized element")
  1592  (assert_trap (invoke "test" (i32.const 23)) "uninitialized element")
  1593  (assert_trap (invoke "test" (i32.const 24)) "uninitialized element")
  1594  (assert_trap (invoke "test" (i32.const 25)) "uninitialized element")
  1595  (assert_trap (invoke "test" (i32.const 26)) "uninitialized element")
  1596  (assert_trap (invoke "test" (i32.const 27)) "uninitialized element")
  1597  (assert_trap (invoke "test" (i32.const 28)) "uninitialized element")
  1598  (assert_trap (invoke "test" (i32.const 29)) "uninitialized element")
  1599  (assert_trap (invoke "test" (i32.const 30)) "uninitialized element")
  1600  (assert_trap (invoke "test" (i32.const 31)) "uninitialized element")
  1601  
  1602  (module
  1603    (type (func (result i32)))
  1604    (table 160 320 funcref)
  1605    (elem funcref
  1606      (ref.func $f0) (ref.func $f1) (ref.func $f2) (ref.func $f3)
  1607      (ref.func $f4) (ref.func $f5) (ref.func $f6) (ref.func $f7)
  1608      (ref.func $f8) (ref.func $f9) (ref.func $f10) (ref.func $f11)
  1609      (ref.func $f12) (ref.func $f13) (ref.func $f14) (ref.func $f15))
  1610    (func $f0 (export "f0") (result i32) (i32.const 0))
  1611    (func $f1 (export "f1") (result i32) (i32.const 1))
  1612    (func $f2 (export "f2") (result i32) (i32.const 2))
  1613    (func $f3 (export "f3") (result i32) (i32.const 3))
  1614    (func $f4 (export "f4") (result i32) (i32.const 4))
  1615    (func $f5 (export "f5") (result i32) (i32.const 5))
  1616    (func $f6 (export "f6") (result i32) (i32.const 6))
  1617    (func $f7 (export "f7") (result i32) (i32.const 7))
  1618    (func $f8 (export "f8") (result i32) (i32.const 8))
  1619    (func $f9 (export "f9") (result i32) (i32.const 9))
  1620    (func $f10 (export "f10") (result i32) (i32.const 10))
  1621    (func $f11 (export "f11") (result i32) (i32.const 11))
  1622    (func $f12 (export "f12") (result i32) (i32.const 12))
  1623    (func $f13 (export "f13") (result i32) (i32.const 13))
  1624    (func $f14 (export "f14") (result i32) (i32.const 14))
  1625    (func $f15 (export "f15") (result i32) (i32.const 15))
  1626    (func (export "test") (param $n i32) (result i32)
  1627      (call_indirect (type 0) (local.get $n)))
  1628    (func (export "run") (param $offs i32) (param $len i32)
  1629      (table.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
  1630  (assert_trap (invoke "run" (i32.const 96) (i32.const 32)) "out of bounds table access")
  1631  (assert_trap (invoke "test" (i32.const 0)) "uninitialized element")
  1632  (assert_trap (invoke "test" (i32.const 1)) "uninitialized element")
  1633  (assert_trap (invoke "test" (i32.const 2)) "uninitialized element")
  1634  (assert_trap (invoke "test" (i32.const 3)) "uninitialized element")
  1635  (assert_trap (invoke "test" (i32.const 4)) "uninitialized element")
  1636  (assert_trap (invoke "test" (i32.const 5)) "uninitialized element")
  1637  (assert_trap (invoke "test" (i32.const 6)) "uninitialized element")
  1638  (assert_trap (invoke "test" (i32.const 7)) "uninitialized element")
  1639  (assert_trap (invoke "test" (i32.const 8)) "uninitialized element")
  1640  (assert_trap (invoke "test" (i32.const 9)) "uninitialized element")
  1641  (assert_trap (invoke "test" (i32.const 10)) "uninitialized element")
  1642  (assert_trap (invoke "test" (i32.const 11)) "uninitialized element")
  1643  (assert_trap (invoke "test" (i32.const 12)) "uninitialized element")
  1644  (assert_trap (invoke "test" (i32.const 13)) "uninitialized element")
  1645  (assert_trap (invoke "test" (i32.const 14)) "uninitialized element")
  1646  (assert_trap (invoke "test" (i32.const 15)) "uninitialized element")
  1647  (assert_trap (invoke "test" (i32.const 16)) "uninitialized element")
  1648  (assert_trap (invoke "test" (i32.const 17)) "uninitialized element")
  1649  (assert_trap (invoke "test" (i32.const 18)) "uninitialized element")
  1650  (assert_trap (invoke "test" (i32.const 19)) "uninitialized element")
  1651  (assert_trap (invoke "test" (i32.const 20)) "uninitialized element")
  1652  (assert_trap (invoke "test" (i32.const 21)) "uninitialized element")
  1653  (assert_trap (invoke "test" (i32.const 22)) "uninitialized element")
  1654  (assert_trap (invoke "test" (i32.const 23)) "uninitialized element")
  1655  (assert_trap (invoke "test" (i32.const 24)) "uninitialized element")
  1656  (assert_trap (invoke "test" (i32.const 25)) "uninitialized element")
  1657  (assert_trap (invoke "test" (i32.const 26)) "uninitialized element")
  1658  (assert_trap (invoke "test" (i32.const 27)) "uninitialized element")
  1659  (assert_trap (invoke "test" (i32.const 28)) "uninitialized element")
  1660  (assert_trap (invoke "test" (i32.const 29)) "uninitialized element")
  1661  (assert_trap (invoke "test" (i32.const 30)) "uninitialized element")
  1662  (assert_trap (invoke "test" (i32.const 31)) "uninitialized element")
  1663  (assert_trap (invoke "test" (i32.const 32)) "uninitialized element")
  1664  (assert_trap (invoke "test" (i32.const 33)) "uninitialized element")
  1665  (assert_trap (invoke "test" (i32.const 34)) "uninitialized element")
  1666  (assert_trap (invoke "test" (i32.const 35)) "uninitialized element")
  1667  (assert_trap (invoke "test" (i32.const 36)) "uninitialized element")
  1668  (assert_trap (invoke "test" (i32.const 37)) "uninitialized element")
  1669  (assert_trap (invoke "test" (i32.const 38)) "uninitialized element")
  1670  (assert_trap (invoke "test" (i32.const 39)) "uninitialized element")
  1671  (assert_trap (invoke "test" (i32.const 40)) "uninitialized element")
  1672  (assert_trap (invoke "test" (i32.const 41)) "uninitialized element")
  1673  (assert_trap (invoke "test" (i32.const 42)) "uninitialized element")
  1674  (assert_trap (invoke "test" (i32.const 43)) "uninitialized element")
  1675  (assert_trap (invoke "test" (i32.const 44)) "uninitialized element")
  1676  (assert_trap (invoke "test" (i32.const 45)) "uninitialized element")
  1677  (assert_trap (invoke "test" (i32.const 46)) "uninitialized element")
  1678  (assert_trap (invoke "test" (i32.const 47)) "uninitialized element")
  1679  (assert_trap (invoke "test" (i32.const 48)) "uninitialized element")
  1680  (assert_trap (invoke "test" (i32.const 49)) "uninitialized element")
  1681  (assert_trap (invoke "test" (i32.const 50)) "uninitialized element")
  1682  (assert_trap (invoke "test" (i32.const 51)) "uninitialized element")
  1683  (assert_trap (invoke "test" (i32.const 52)) "uninitialized element")
  1684  (assert_trap (invoke "test" (i32.const 53)) "uninitialized element")
  1685  (assert_trap (invoke "test" (i32.const 54)) "uninitialized element")
  1686  (assert_trap (invoke "test" (i32.const 55)) "uninitialized element")
  1687  (assert_trap (invoke "test" (i32.const 56)) "uninitialized element")
  1688  (assert_trap (invoke "test" (i32.const 57)) "uninitialized element")
  1689  (assert_trap (invoke "test" (i32.const 58)) "uninitialized element")
  1690  (assert_trap (invoke "test" (i32.const 59)) "uninitialized element")
  1691  (assert_trap (invoke "test" (i32.const 60)) "uninitialized element")
  1692  (assert_trap (invoke "test" (i32.const 61)) "uninitialized element")
  1693  (assert_trap (invoke "test" (i32.const 62)) "uninitialized element")
  1694  (assert_trap (invoke "test" (i32.const 63)) "uninitialized element")
  1695  (assert_trap (invoke "test" (i32.const 64)) "uninitialized element")
  1696  (assert_trap (invoke "test" (i32.const 65)) "uninitialized element")
  1697  (assert_trap (invoke "test" (i32.const 66)) "uninitialized element")
  1698  (assert_trap (invoke "test" (i32.const 67)) "uninitialized element")
  1699  (assert_trap (invoke "test" (i32.const 68)) "uninitialized element")
  1700  (assert_trap (invoke "test" (i32.const 69)) "uninitialized element")
  1701  (assert_trap (invoke "test" (i32.const 70)) "uninitialized element")
  1702  (assert_trap (invoke "test" (i32.const 71)) "uninitialized element")
  1703  (assert_trap (invoke "test" (i32.const 72)) "uninitialized element")
  1704  (assert_trap (invoke "test" (i32.const 73)) "uninitialized element")
  1705  (assert_trap (invoke "test" (i32.const 74)) "uninitialized element")
  1706  (assert_trap (invoke "test" (i32.const 75)) "uninitialized element")
  1707  (assert_trap (invoke "test" (i32.const 76)) "uninitialized element")
  1708  (assert_trap (invoke "test" (i32.const 77)) "uninitialized element")
  1709  (assert_trap (invoke "test" (i32.const 78)) "uninitialized element")
  1710  (assert_trap (invoke "test" (i32.const 79)) "uninitialized element")
  1711  (assert_trap (invoke "test" (i32.const 80)) "uninitialized element")
  1712  (assert_trap (invoke "test" (i32.const 81)) "uninitialized element")
  1713  (assert_trap (invoke "test" (i32.const 82)) "uninitialized element")
  1714  (assert_trap (invoke "test" (i32.const 83)) "uninitialized element")
  1715  (assert_trap (invoke "test" (i32.const 84)) "uninitialized element")
  1716  (assert_trap (invoke "test" (i32.const 85)) "uninitialized element")
  1717  (assert_trap (invoke "test" (i32.const 86)) "uninitialized element")
  1718  (assert_trap (invoke "test" (i32.const 87)) "uninitialized element")
  1719  (assert_trap (invoke "test" (i32.const 88)) "uninitialized element")
  1720  (assert_trap (invoke "test" (i32.const 89)) "uninitialized element")
  1721  (assert_trap (invoke "test" (i32.const 90)) "uninitialized element")
  1722  (assert_trap (invoke "test" (i32.const 91)) "uninitialized element")
  1723  (assert_trap (invoke "test" (i32.const 92)) "uninitialized element")
  1724  (assert_trap (invoke "test" (i32.const 93)) "uninitialized element")
  1725  (assert_trap (invoke "test" (i32.const 94)) "uninitialized element")
  1726  (assert_trap (invoke "test" (i32.const 95)) "uninitialized element")
  1727  (assert_trap (invoke "test" (i32.const 96)) "uninitialized element")
  1728  (assert_trap (invoke "test" (i32.const 97)) "uninitialized element")
  1729  (assert_trap (invoke "test" (i32.const 98)) "uninitialized element")
  1730  (assert_trap (invoke "test" (i32.const 99)) "uninitialized element")
  1731  (assert_trap (invoke "test" (i32.const 100)) "uninitialized element")
  1732  (assert_trap (invoke "test" (i32.const 101)) "uninitialized element")
  1733  (assert_trap (invoke "test" (i32.const 102)) "uninitialized element")
  1734  (assert_trap (invoke "test" (i32.const 103)) "uninitialized element")
  1735  (assert_trap (invoke "test" (i32.const 104)) "uninitialized element")
  1736  (assert_trap (invoke "test" (i32.const 105)) "uninitialized element")
  1737  (assert_trap (invoke "test" (i32.const 106)) "uninitialized element")
  1738  (assert_trap (invoke "test" (i32.const 107)) "uninitialized element")
  1739  (assert_trap (invoke "test" (i32.const 108)) "uninitialized element")
  1740  (assert_trap (invoke "test" (i32.const 109)) "uninitialized element")
  1741  (assert_trap (invoke "test" (i32.const 110)) "uninitialized element")
  1742  (assert_trap (invoke "test" (i32.const 111)) "uninitialized element")
  1743  (assert_trap (invoke "test" (i32.const 112)) "uninitialized element")
  1744  (assert_trap (invoke "test" (i32.const 113)) "uninitialized element")
  1745  (assert_trap (invoke "test" (i32.const 114)) "uninitialized element")
  1746  (assert_trap (invoke "test" (i32.const 115)) "uninitialized element")
  1747  (assert_trap (invoke "test" (i32.const 116)) "uninitialized element")
  1748  (assert_trap (invoke "test" (i32.const 117)) "uninitialized element")
  1749  (assert_trap (invoke "test" (i32.const 118)) "uninitialized element")
  1750  (assert_trap (invoke "test" (i32.const 119)) "uninitialized element")
  1751  (assert_trap (invoke "test" (i32.const 120)) "uninitialized element")
  1752  (assert_trap (invoke "test" (i32.const 121)) "uninitialized element")
  1753  (assert_trap (invoke "test" (i32.const 122)) "uninitialized element")
  1754  (assert_trap (invoke "test" (i32.const 123)) "uninitialized element")
  1755  (assert_trap (invoke "test" (i32.const 124)) "uninitialized element")
  1756  (assert_trap (invoke "test" (i32.const 125)) "uninitialized element")
  1757  (assert_trap (invoke "test" (i32.const 126)) "uninitialized element")
  1758  (assert_trap (invoke "test" (i32.const 127)) "uninitialized element")
  1759  (assert_trap (invoke "test" (i32.const 128)) "uninitialized element")
  1760  (assert_trap (invoke "test" (i32.const 129)) "uninitialized element")
  1761  (assert_trap (invoke "test" (i32.const 130)) "uninitialized element")
  1762  (assert_trap (invoke "test" (i32.const 131)) "uninitialized element")
  1763  (assert_trap (invoke "test" (i32.const 132)) "uninitialized element")
  1764  (assert_trap (invoke "test" (i32.const 133)) "uninitialized element")
  1765  (assert_trap (invoke "test" (i32.const 134)) "uninitialized element")
  1766  (assert_trap (invoke "test" (i32.const 135)) "uninitialized element")
  1767  (assert_trap (invoke "test" (i32.const 136)) "uninitialized element")
  1768  (assert_trap (invoke "test" (i32.const 137)) "uninitialized element")
  1769  (assert_trap (invoke "test" (i32.const 138)) "uninitialized element")
  1770  (assert_trap (invoke "test" (i32.const 139)) "uninitialized element")
  1771  (assert_trap (invoke "test" (i32.const 140)) "uninitialized element")
  1772  (assert_trap (invoke "test" (i32.const 141)) "uninitialized element")
  1773  (assert_trap (invoke "test" (i32.const 142)) "uninitialized element")
  1774  (assert_trap (invoke "test" (i32.const 143)) "uninitialized element")
  1775  (assert_trap (invoke "test" (i32.const 144)) "uninitialized element")
  1776  (assert_trap (invoke "test" (i32.const 145)) "uninitialized element")
  1777  (assert_trap (invoke "test" (i32.const 146)) "uninitialized element")
  1778  (assert_trap (invoke "test" (i32.const 147)) "uninitialized element")
  1779  (assert_trap (invoke "test" (i32.const 148)) "uninitialized element")
  1780  (assert_trap (invoke "test" (i32.const 149)) "uninitialized element")
  1781  (assert_trap (invoke "test" (i32.const 150)) "uninitialized element")
  1782  (assert_trap (invoke "test" (i32.const 151)) "uninitialized element")
  1783  (assert_trap (invoke "test" (i32.const 152)) "uninitialized element")
  1784  (assert_trap (invoke "test" (i32.const 153)) "uninitialized element")
  1785  (assert_trap (invoke "test" (i32.const 154)) "uninitialized element")
  1786  (assert_trap (invoke "test" (i32.const 155)) "uninitialized element")
  1787  (assert_trap (invoke "test" (i32.const 156)) "uninitialized element")
  1788  (assert_trap (invoke "test" (i32.const 157)) "uninitialized element")
  1789  (assert_trap (invoke "test" (i32.const 158)) "uninitialized element")
  1790  (assert_trap (invoke "test" (i32.const 159)) "uninitialized element")
  1791  
  1792  (module
  1793    (type (func (result i32)))
  1794    (table 160 320 funcref)
  1795    (elem funcref
  1796      (ref.func $f0) (ref.func $f1) (ref.func $f2) (ref.func $f3)
  1797      (ref.func $f4) (ref.func $f5) (ref.func $f6) (ref.func $f7)
  1798      (ref.func $f8) (ref.func $f9) (ref.func $f10) (ref.func $f11)
  1799      (ref.func $f12) (ref.func $f13) (ref.func $f14) (ref.func $f15))
  1800    (func $f0 (export "f0") (result i32) (i32.const 0))
  1801    (func $f1 (export "f1") (result i32) (i32.const 1))
  1802    (func $f2 (export "f2") (result i32) (i32.const 2))
  1803    (func $f3 (export "f3") (result i32) (i32.const 3))
  1804    (func $f4 (export "f4") (result i32) (i32.const 4))
  1805    (func $f5 (export "f5") (result i32) (i32.const 5))
  1806    (func $f6 (export "f6") (result i32) (i32.const 6))
  1807    (func $f7 (export "f7") (result i32) (i32.const 7))
  1808    (func $f8 (export "f8") (result i32) (i32.const 8))
  1809    (func $f9 (export "f9") (result i32) (i32.const 9))
  1810    (func $f10 (export "f10") (result i32) (i32.const 10))
  1811    (func $f11 (export "f11") (result i32) (i32.const 11))
  1812    (func $f12 (export "f12") (result i32) (i32.const 12))
  1813    (func $f13 (export "f13") (result i32) (i32.const 13))
  1814    (func $f14 (export "f14") (result i32) (i32.const 14))
  1815    (func $f15 (export "f15") (result i32) (i32.const 15))
  1816    (func (export "test") (param $n i32) (result i32)
  1817      (call_indirect (type 0) (local.get $n)))
  1818    (func (export "run") (param $offs i32) (param $len i32)
  1819      (table.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
  1820  (assert_trap (invoke "run" (i32.const 97) (i32.const 31)) "out of bounds table access")
  1821  (assert_trap (invoke "test" (i32.const 0)) "uninitialized element")
  1822  (assert_trap (invoke "test" (i32.const 1)) "uninitialized element")
  1823  (assert_trap (invoke "test" (i32.const 2)) "uninitialized element")
  1824  (assert_trap (invoke "test" (i32.const 3)) "uninitialized element")
  1825  (assert_trap (invoke "test" (i32.const 4)) "uninitialized element")
  1826  (assert_trap (invoke "test" (i32.const 5)) "uninitialized element")
  1827  (assert_trap (invoke "test" (i32.const 6)) "uninitialized element")
  1828  (assert_trap (invoke "test" (i32.const 7)) "uninitialized element")
  1829  (assert_trap (invoke "test" (i32.const 8)) "uninitialized element")
  1830  (assert_trap (invoke "test" (i32.const 9)) "uninitialized element")
  1831  (assert_trap (invoke "test" (i32.const 10)) "uninitialized element")
  1832  (assert_trap (invoke "test" (i32.const 11)) "uninitialized element")
  1833  (assert_trap (invoke "test" (i32.const 12)) "uninitialized element")
  1834  (assert_trap (invoke "test" (i32.const 13)) "uninitialized element")
  1835  (assert_trap (invoke "test" (i32.const 14)) "uninitialized element")
  1836  (assert_trap (invoke "test" (i32.const 15)) "uninitialized element")
  1837  (assert_trap (invoke "test" (i32.const 16)) "uninitialized element")
  1838  (assert_trap (invoke "test" (i32.const 17)) "uninitialized element")
  1839  (assert_trap (invoke "test" (i32.const 18)) "uninitialized element")
  1840  (assert_trap (invoke "test" (i32.const 19)) "uninitialized element")
  1841  (assert_trap (invoke "test" (i32.const 20)) "uninitialized element")
  1842  (assert_trap (invoke "test" (i32.const 21)) "uninitialized element")
  1843  (assert_trap (invoke "test" (i32.const 22)) "uninitialized element")
  1844  (assert_trap (invoke "test" (i32.const 23)) "uninitialized element")
  1845  (assert_trap (invoke "test" (i32.const 24)) "uninitialized element")
  1846  (assert_trap (invoke "test" (i32.const 25)) "uninitialized element")
  1847  (assert_trap (invoke "test" (i32.const 26)) "uninitialized element")
  1848  (assert_trap (invoke "test" (i32.const 27)) "uninitialized element")
  1849  (assert_trap (invoke "test" (i32.const 28)) "uninitialized element")
  1850  (assert_trap (invoke "test" (i32.const 29)) "uninitialized element")
  1851  (assert_trap (invoke "test" (i32.const 30)) "uninitialized element")
  1852  (assert_trap (invoke "test" (i32.const 31)) "uninitialized element")
  1853  (assert_trap (invoke "test" (i32.const 32)) "uninitialized element")
  1854  (assert_trap (invoke "test" (i32.const 33)) "uninitialized element")
  1855  (assert_trap (invoke "test" (i32.const 34)) "uninitialized element")
  1856  (assert_trap (invoke "test" (i32.const 35)) "uninitialized element")
  1857  (assert_trap (invoke "test" (i32.const 36)) "uninitialized element")
  1858  (assert_trap (invoke "test" (i32.const 37)) "uninitialized element")
  1859  (assert_trap (invoke "test" (i32.const 38)) "uninitialized element")
  1860  (assert_trap (invoke "test" (i32.const 39)) "uninitialized element")
  1861  (assert_trap (invoke "test" (i32.const 40)) "uninitialized element")
  1862  (assert_trap (invoke "test" (i32.const 41)) "uninitialized element")
  1863  (assert_trap (invoke "test" (i32.const 42)) "uninitialized element")
  1864  (assert_trap (invoke "test" (i32.const 43)) "uninitialized element")
  1865  (assert_trap (invoke "test" (i32.const 44)) "uninitialized element")
  1866  (assert_trap (invoke "test" (i32.const 45)) "uninitialized element")
  1867  (assert_trap (invoke "test" (i32.const 46)) "uninitialized element")
  1868  (assert_trap (invoke "test" (i32.const 47)) "uninitialized element")
  1869  (assert_trap (invoke "test" (i32.const 48)) "uninitialized element")
  1870  (assert_trap (invoke "test" (i32.const 49)) "uninitialized element")
  1871  (assert_trap (invoke "test" (i32.const 50)) "uninitialized element")
  1872  (assert_trap (invoke "test" (i32.const 51)) "uninitialized element")
  1873  (assert_trap (invoke "test" (i32.const 52)) "uninitialized element")
  1874  (assert_trap (invoke "test" (i32.const 53)) "uninitialized element")
  1875  (assert_trap (invoke "test" (i32.const 54)) "uninitialized element")
  1876  (assert_trap (invoke "test" (i32.const 55)) "uninitialized element")
  1877  (assert_trap (invoke "test" (i32.const 56)) "uninitialized element")
  1878  (assert_trap (invoke "test" (i32.const 57)) "uninitialized element")
  1879  (assert_trap (invoke "test" (i32.const 58)) "uninitialized element")
  1880  (assert_trap (invoke "test" (i32.const 59)) "uninitialized element")
  1881  (assert_trap (invoke "test" (i32.const 60)) "uninitialized element")
  1882  (assert_trap (invoke "test" (i32.const 61)) "uninitialized element")
  1883  (assert_trap (invoke "test" (i32.const 62)) "uninitialized element")
  1884  (assert_trap (invoke "test" (i32.const 63)) "uninitialized element")
  1885  (assert_trap (invoke "test" (i32.const 64)) "uninitialized element")
  1886  (assert_trap (invoke "test" (i32.const 65)) "uninitialized element")
  1887  (assert_trap (invoke "test" (i32.const 66)) "uninitialized element")
  1888  (assert_trap (invoke "test" (i32.const 67)) "uninitialized element")
  1889  (assert_trap (invoke "test" (i32.const 68)) "uninitialized element")
  1890  (assert_trap (invoke "test" (i32.const 69)) "uninitialized element")
  1891  (assert_trap (invoke "test" (i32.const 70)) "uninitialized element")
  1892  (assert_trap (invoke "test" (i32.const 71)) "uninitialized element")
  1893  (assert_trap (invoke "test" (i32.const 72)) "uninitialized element")
  1894  (assert_trap (invoke "test" (i32.const 73)) "uninitialized element")
  1895  (assert_trap (invoke "test" (i32.const 74)) "uninitialized element")
  1896  (assert_trap (invoke "test" (i32.const 75)) "uninitialized element")
  1897  (assert_trap (invoke "test" (i32.const 76)) "uninitialized element")
  1898  (assert_trap (invoke "test" (i32.const 77)) "uninitialized element")
  1899  (assert_trap (invoke "test" (i32.const 78)) "uninitialized element")
  1900  (assert_trap (invoke "test" (i32.const 79)) "uninitialized element")
  1901  (assert_trap (invoke "test" (i32.const 80)) "uninitialized element")
  1902  (assert_trap (invoke "test" (i32.const 81)) "uninitialized element")
  1903  (assert_trap (invoke "test" (i32.const 82)) "uninitialized element")
  1904  (assert_trap (invoke "test" (i32.const 83)) "uninitialized element")
  1905  (assert_trap (invoke "test" (i32.const 84)) "uninitialized element")
  1906  (assert_trap (invoke "test" (i32.const 85)) "uninitialized element")
  1907  (assert_trap (invoke "test" (i32.const 86)) "uninitialized element")
  1908  (assert_trap (invoke "test" (i32.const 87)) "uninitialized element")
  1909  (assert_trap (invoke "test" (i32.const 88)) "uninitialized element")
  1910  (assert_trap (invoke "test" (i32.const 89)) "uninitialized element")
  1911  (assert_trap (invoke "test" (i32.const 90)) "uninitialized element")
  1912  (assert_trap (invoke "test" (i32.const 91)) "uninitialized element")
  1913  (assert_trap (invoke "test" (i32.const 92)) "uninitialized element")
  1914  (assert_trap (invoke "test" (i32.const 93)) "uninitialized element")
  1915  (assert_trap (invoke "test" (i32.const 94)) "uninitialized element")
  1916  (assert_trap (invoke "test" (i32.const 95)) "uninitialized element")
  1917  (assert_trap (invoke "test" (i32.const 96)) "uninitialized element")
  1918  (assert_trap (invoke "test" (i32.const 97)) "uninitialized element")
  1919  (assert_trap (invoke "test" (i32.const 98)) "uninitialized element")
  1920  (assert_trap (invoke "test" (i32.const 99)) "uninitialized element")
  1921  (assert_trap (invoke "test" (i32.const 100)) "uninitialized element")
  1922  (assert_trap (invoke "test" (i32.const 101)) "uninitialized element")
  1923  (assert_trap (invoke "test" (i32.const 102)) "uninitialized element")
  1924  (assert_trap (invoke "test" (i32.const 103)) "uninitialized element")
  1925  (assert_trap (invoke "test" (i32.const 104)) "uninitialized element")
  1926  (assert_trap (invoke "test" (i32.const 105)) "uninitialized element")
  1927  (assert_trap (invoke "test" (i32.const 106)) "uninitialized element")
  1928  (assert_trap (invoke "test" (i32.const 107)) "uninitialized element")
  1929  (assert_trap (invoke "test" (i32.const 108)) "uninitialized element")
  1930  (assert_trap (invoke "test" (i32.const 109)) "uninitialized element")
  1931  (assert_trap (invoke "test" (i32.const 110)) "uninitialized element")
  1932  (assert_trap (invoke "test" (i32.const 111)) "uninitialized element")
  1933  (assert_trap (invoke "test" (i32.const 112)) "uninitialized element")
  1934  (assert_trap (invoke "test" (i32.const 113)) "uninitialized element")
  1935  (assert_trap (invoke "test" (i32.const 114)) "uninitialized element")
  1936  (assert_trap (invoke "test" (i32.const 115)) "uninitialized element")
  1937  (assert_trap (invoke "test" (i32.const 116)) "uninitialized element")
  1938  (assert_trap (invoke "test" (i32.const 117)) "uninitialized element")
  1939  (assert_trap (invoke "test" (i32.const 118)) "uninitialized element")
  1940  (assert_trap (invoke "test" (i32.const 119)) "uninitialized element")
  1941  (assert_trap (invoke "test" (i32.const 120)) "uninitialized element")
  1942  (assert_trap (invoke "test" (i32.const 121)) "uninitialized element")
  1943  (assert_trap (invoke "test" (i32.const 122)) "uninitialized element")
  1944  (assert_trap (invoke "test" (i32.const 123)) "uninitialized element")
  1945  (assert_trap (invoke "test" (i32.const 124)) "uninitialized element")
  1946  (assert_trap (invoke "test" (i32.const 125)) "uninitialized element")
  1947  (assert_trap (invoke "test" (i32.const 126)) "uninitialized element")
  1948  (assert_trap (invoke "test" (i32.const 127)) "uninitialized element")
  1949  (assert_trap (invoke "test" (i32.const 128)) "uninitialized element")
  1950  (assert_trap (invoke "test" (i32.const 129)) "uninitialized element")
  1951  (assert_trap (invoke "test" (i32.const 130)) "uninitialized element")
  1952  (assert_trap (invoke "test" (i32.const 131)) "uninitialized element")
  1953  (assert_trap (invoke "test" (i32.const 132)) "uninitialized element")
  1954  (assert_trap (invoke "test" (i32.const 133)) "uninitialized element")
  1955  (assert_trap (invoke "test" (i32.const 134)) "uninitialized element")
  1956  (assert_trap (invoke "test" (i32.const 135)) "uninitialized element")
  1957  (assert_trap (invoke "test" (i32.const 136)) "uninitialized element")
  1958  (assert_trap (invoke "test" (i32.const 137)) "uninitialized element")
  1959  (assert_trap (invoke "test" (i32.const 138)) "uninitialized element")
  1960  (assert_trap (invoke "test" (i32.const 139)) "uninitialized element")
  1961  (assert_trap (invoke "test" (i32.const 140)) "uninitialized element")
  1962  (assert_trap (invoke "test" (i32.const 141)) "uninitialized element")
  1963  (assert_trap (invoke "test" (i32.const 142)) "uninitialized element")
  1964  (assert_trap (invoke "test" (i32.const 143)) "uninitialized element")
  1965  (assert_trap (invoke "test" (i32.const 144)) "uninitialized element")
  1966  (assert_trap (invoke "test" (i32.const 145)) "uninitialized element")
  1967  (assert_trap (invoke "test" (i32.const 146)) "uninitialized element")
  1968  (assert_trap (invoke "test" (i32.const 147)) "uninitialized element")
  1969  (assert_trap (invoke "test" (i32.const 148)) "uninitialized element")
  1970  (assert_trap (invoke "test" (i32.const 149)) "uninitialized element")
  1971  (assert_trap (invoke "test" (i32.const 150)) "uninitialized element")
  1972  (assert_trap (invoke "test" (i32.const 151)) "uninitialized element")
  1973  (assert_trap (invoke "test" (i32.const 152)) "uninitialized element")
  1974  (assert_trap (invoke "test" (i32.const 153)) "uninitialized element")
  1975  (assert_trap (invoke "test" (i32.const 154)) "uninitialized element")
  1976  (assert_trap (invoke "test" (i32.const 155)) "uninitialized element")
  1977  (assert_trap (invoke "test" (i32.const 156)) "uninitialized element")
  1978  (assert_trap (invoke "test" (i32.const 157)) "uninitialized element")
  1979  (assert_trap (invoke "test" (i32.const 158)) "uninitialized element")
  1980  (assert_trap (invoke "test" (i32.const 159)) "uninitialized element")
  1981  
  1982  (module
  1983    (type (func (result i32)))
  1984    (table 64 64 funcref)
  1985    (elem funcref
  1986      (ref.func $f0) (ref.func $f1) (ref.func $f2) (ref.func $f3)
  1987      (ref.func $f4) (ref.func $f5) (ref.func $f6) (ref.func $f7)
  1988      (ref.func $f8) (ref.func $f9) (ref.func $f10) (ref.func $f11)
  1989      (ref.func $f12) (ref.func $f13) (ref.func $f14) (ref.func $f15))
  1990    (func $f0 (export "f0") (result i32) (i32.const 0))
  1991    (func $f1 (export "f1") (result i32) (i32.const 1))
  1992    (func $f2 (export "f2") (result i32) (i32.const 2))
  1993    (func $f3 (export "f3") (result i32) (i32.const 3))
  1994    (func $f4 (export "f4") (result i32) (i32.const 4))
  1995    (func $f5 (export "f5") (result i32) (i32.const 5))
  1996    (func $f6 (export "f6") (result i32) (i32.const 6))
  1997    (func $f7 (export "f7") (result i32) (i32.const 7))
  1998    (func $f8 (export "f8") (result i32) (i32.const 8))
  1999    (func $f9 (export "f9") (result i32) (i32.const 9))
  2000    (func $f10 (export "f10") (result i32) (i32.const 10))
  2001    (func $f11 (export "f11") (result i32) (i32.const 11))
  2002    (func $f12 (export "f12") (result i32) (i32.const 12))
  2003    (func $f13 (export "f13") (result i32) (i32.const 13))
  2004    (func $f14 (export "f14") (result i32) (i32.const 14))
  2005    (func $f15 (export "f15") (result i32) (i32.const 15))
  2006    (func (export "test") (param $n i32) (result i32)
  2007      (call_indirect (type 0) (local.get $n)))
  2008    (func (export "run") (param $offs i32) (param $len i32)
  2009      (table.init 0 (local.get $offs) (i32.const 0) (local.get $len))))
  2010  (assert_trap (invoke "run" (i32.const 48) (i32.const 4294967280)) "out of bounds table access")
  2011  (assert_trap (invoke "test" (i32.const 0)) "uninitialized element")
  2012  (assert_trap (invoke "test" (i32.const 1)) "uninitialized element")
  2013  (assert_trap (invoke "test" (i32.const 2)) "uninitialized element")
  2014  (assert_trap (invoke "test" (i32.const 3)) "uninitialized element")
  2015  (assert_trap (invoke "test" (i32.const 4)) "uninitialized element")
  2016  (assert_trap (invoke "test" (i32.const 5)) "uninitialized element")
  2017  (assert_trap (invoke "test" (i32.const 6)) "uninitialized element")
  2018  (assert_trap (invoke "test" (i32.const 7)) "uninitialized element")
  2019  (assert_trap (invoke "test" (i32.const 8)) "uninitialized element")
  2020  (assert_trap (invoke "test" (i32.const 9)) "uninitialized element")
  2021  (assert_trap (invoke "test" (i32.const 10)) "uninitialized element")
  2022  (assert_trap (invoke "test" (i32.const 11)) "uninitialized element")
  2023  (assert_trap (invoke "test" (i32.const 12)) "uninitialized element")
  2024  (assert_trap (invoke "test" (i32.const 13)) "uninitialized element")
  2025  (assert_trap (invoke "test" (i32.const 14)) "uninitialized element")
  2026  (assert_trap (invoke "test" (i32.const 15)) "uninitialized element")
  2027  (assert_trap (invoke "test" (i32.const 16)) "uninitialized element")
  2028  (assert_trap (invoke "test" (i32.const 17)) "uninitialized element")
  2029  (assert_trap (invoke "test" (i32.const 18)) "uninitialized element")
  2030  (assert_trap (invoke "test" (i32.const 19)) "uninitialized element")
  2031  (assert_trap (invoke "test" (i32.const 20)) "uninitialized element")
  2032  (assert_trap (invoke "test" (i32.const 21)) "uninitialized element")
  2033  (assert_trap (invoke "test" (i32.const 22)) "uninitialized element")
  2034  (assert_trap (invoke "test" (i32.const 23)) "uninitialized element")
  2035  (assert_trap (invoke "test" (i32.const 24)) "uninitialized element")
  2036  (assert_trap (invoke "test" (i32.const 25)) "uninitialized element")
  2037  (assert_trap (invoke "test" (i32.const 26)) "uninitialized element")
  2038  (assert_trap (invoke "test" (i32.const 27)) "uninitialized element")
  2039  (assert_trap (invoke "test" (i32.const 28)) "uninitialized element")
  2040  (assert_trap (invoke "test" (i32.const 29)) "uninitialized element")
  2041  (assert_trap (invoke "test" (i32.const 30)) "uninitialized element")
  2042  (assert_trap (invoke "test" (i32.const 31)) "uninitialized element")
  2043  (assert_trap (invoke "test" (i32.const 32)) "uninitialized element")
  2044  (assert_trap (invoke "test" (i32.const 33)) "uninitialized element")
  2045  (assert_trap (invoke "test" (i32.const 34)) "uninitialized element")
  2046  (assert_trap (invoke "test" (i32.const 35)) "uninitialized element")
  2047  (assert_trap (invoke "test" (i32.const 36)) "uninitialized element")
  2048  (assert_trap (invoke "test" (i32.const 37)) "uninitialized element")
  2049  (assert_trap (invoke "test" (i32.const 38)) "uninitialized element")
  2050  (assert_trap (invoke "test" (i32.const 39)) "uninitialized element")
  2051  (assert_trap (invoke "test" (i32.const 40)) "uninitialized element")
  2052  (assert_trap (invoke "test" (i32.const 41)) "uninitialized element")
  2053  (assert_trap (invoke "test" (i32.const 42)) "uninitialized element")
  2054  (assert_trap (invoke "test" (i32.const 43)) "uninitialized element")
  2055  (assert_trap (invoke "test" (i32.const 44)) "uninitialized element")
  2056  (assert_trap (invoke "test" (i32.const 45)) "uninitialized element")
  2057  (assert_trap (invoke "test" (i32.const 46)) "uninitialized element")
  2058  (assert_trap (invoke "test" (i32.const 47)) "uninitialized element")
  2059  (assert_trap (invoke "test" (i32.const 48)) "uninitialized element")
  2060  (assert_trap (invoke "test" (i32.const 49)) "uninitialized element")
  2061  (assert_trap (invoke "test" (i32.const 50)) "uninitialized element")
  2062  (assert_trap (invoke "test" (i32.const 51)) "uninitialized element")
  2063  (assert_trap (invoke "test" (i32.const 52)) "uninitialized element")
  2064  (assert_trap (invoke "test" (i32.const 53)) "uninitialized element")
  2065  (assert_trap (invoke "test" (i32.const 54)) "uninitialized element")
  2066  (assert_trap (invoke "test" (i32.const 55)) "uninitialized element")
  2067  (assert_trap (invoke "test" (i32.const 56)) "uninitialized element")
  2068  (assert_trap (invoke "test" (i32.const 57)) "uninitialized element")
  2069  (assert_trap (invoke "test" (i32.const 58)) "uninitialized element")
  2070  (assert_trap (invoke "test" (i32.const 59)) "uninitialized element")
  2071  (assert_trap (invoke "test" (i32.const 60)) "uninitialized element")
  2072  (assert_trap (invoke "test" (i32.const 61)) "uninitialized element")
  2073  (assert_trap (invoke "test" (i32.const 62)) "uninitialized element")
  2074  (assert_trap (invoke "test" (i32.const 63)) "uninitialized element")
  2075  
  2076  (module
  2077    (type (func (result i32)))
  2078    (table 16 16 funcref)
  2079    (elem funcref
  2080      (ref.func $f0) (ref.func $f1) (ref.func $f2) (ref.func $f3)
  2081      (ref.func $f4) (ref.func $f5) (ref.func $f6) (ref.func $f7)
  2082      (ref.func $f8) (ref.func $f9) (ref.func $f10) (ref.func $f11)
  2083      (ref.func $f12) (ref.func $f13) (ref.func $f14) (ref.func $f15))
  2084    (func $f0 (export "f0") (result i32) (i32.const 0))
  2085    (func $f1 (export "f1") (result i32) (i32.const 1))
  2086    (func $f2 (export "f2") (result i32) (i32.const 2))
  2087    (func $f3 (export "f3") (result i32) (i32.const 3))
  2088    (func $f4 (export "f4") (result i32) (i32.const 4))
  2089    (func $f5 (export "f5") (result i32) (i32.const 5))
  2090    (func $f6 (export "f6") (result i32) (i32.const 6))
  2091    (func $f7 (export "f7") (result i32) (i32.const 7))
  2092    (func $f8 (export "f8") (result i32) (i32.const 8))
  2093    (func $f9 (export "f9") (result i32) (i32.const 9))
  2094    (func $f10 (export "f10") (result i32) (i32.const 10))
  2095    (func $f11 (export "f11") (result i32) (i32.const 11))
  2096    (func $f12 (export "f12") (result i32) (i32.const 12))
  2097    (func $f13 (export "f13") (result i32) (i32.const 13))
  2098    (func $f14 (export "f14") (result i32) (i32.const 14))
  2099    (func $f15 (export "f15") (result i32) (i32.const 15))
  2100    (func (export "test") (param $n i32) (result i32)
  2101      (call_indirect (type 0) (local.get $n)))
  2102    (func (export "run") (param $offs i32) (param $len i32)
  2103      (table.init 0 (local.get $offs) (i32.const 8) (local.get $len))))
  2104  (assert_trap (invoke "run" (i32.const 0) (i32.const 4294967292)) "out of bounds table access")
  2105  (assert_trap (invoke "test" (i32.const 0)) "uninitialized element")
  2106  (assert_trap (invoke "test" (i32.const 1)) "uninitialized element")
  2107  (assert_trap (invoke "test" (i32.const 2)) "uninitialized element")
  2108  (assert_trap (invoke "test" (i32.const 3)) "uninitialized element")
  2109  (assert_trap (invoke "test" (i32.const 4)) "uninitialized element")
  2110  (assert_trap (invoke "test" (i32.const 5)) "uninitialized element")
  2111  (assert_trap (invoke "test" (i32.const 6)) "uninitialized element")
  2112  (assert_trap (invoke "test" (i32.const 7)) "uninitialized element")
  2113  (assert_trap (invoke "test" (i32.const 8)) "uninitialized element")
  2114  (assert_trap (invoke "test" (i32.const 9)) "uninitialized element")
  2115  (assert_trap (invoke "test" (i32.const 10)) "uninitialized element")
  2116  (assert_trap (invoke "test" (i32.const 11)) "uninitialized element")
  2117  (assert_trap (invoke "test" (i32.const 12)) "uninitialized element")
  2118  (assert_trap (invoke "test" (i32.const 13)) "uninitialized element")
  2119  (assert_trap (invoke "test" (i32.const 14)) "uninitialized element")
  2120  (assert_trap (invoke "test" (i32.const 15)) "uninitialized element")
  2121  
  2122  (module
  2123    (table 1 funcref)
  2124    ;; 65 elem segments. 64 is the smallest positive number that is encoded
  2125    ;; differently as a signed LEB.
  2126    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2127    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2128    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2129    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2130    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2131    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2132    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2133    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2134    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2135    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2136    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2137    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2138    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2139    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2140    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2141    (elem funcref) (elem funcref) (elem funcref) (elem funcref)
  2142    (elem funcref)
  2143    (func (table.init 64 (i32.const 0) (i32.const 0) (i32.const 0))))