File: i31ref-of-global-initializers.wast

package info (click to toggle)
rust-wasmtime 26.0.1%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 48,492 kB
  • sloc: ansic: 4,003; sh: 561; javascript: 542; cpp: 254; asm: 175; ml: 96; makefile: 55
file content (31 lines) | stat: -rw-r--r-- 914 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
(module $env
  (global (export "g1") i32 (i32.const 42))
  (global (export "g2") i32 (i32.const 99))
)
(register "env")

(module $i31ref_of_global_const_expr_and_tables
  (global $g1 (import "env" "g1") i32)
  (global $g2 (import "env" "g2") i32)

  (table $t 3 3 (ref i31) (ref.i31 (global.get $g1)))
  (elem (table $t) (i32.const 2) (ref i31) (ref.i31 (global.get $g2)))

  (func (export "get") (param i32) (result i32)
    (i31.get_u (local.get 0) (table.get $t))
  )
)

(assert_return (invoke "get" (i32.const 0)) (i32.const 42))
(assert_return (invoke "get" (i32.const 1)) (i32.const 42))
(assert_return (invoke "get" (i32.const 2)) (i32.const 99))

(module $i31ref_of_global_const_expr_and_globals
  (global $g1 (import "env" "g1") i32)
  (global $g2 i31ref (ref.i31 (global.get $g1)))
  (func (export "get") (result i32)
    (i31.get_u (global.get $g2))
  )
)

(assert_return (invoke "get") (i32.const 42))