File: shared-polymorphism.wast

package info (click to toggle)
binaryen 120-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 41,284 kB
  • sloc: cpp: 189,449; javascript: 62,189; ansic: 14,087; python: 5,379; pascal: 441; sh: 77; makefile: 30; asm: 27
file content (23 lines) | stat: -rw-r--r-- 860 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
;; Some instructions are shared-polymorphic and work with shared or unshared
;; references.
(module
  (func (drop (ref.eq (ref.null (shared none)) (ref.null (shared none)))))

  (func (param (ref null (shared i31))) (drop (i31.get_s (local.get 0))))
  (func (param (ref null (shared i31))) (drop (i31.get_u (local.get 0))))

  (func (param (ref null (shared array))) (drop (array.len (local.get 0))))

  (func (param (ref null (shared extern))) (result (ref null (shared any)))
    (any.convert_extern (local.get 0))
  )
  (func (param (ref (shared extern))) (result (ref (shared any)))
    (any.convert_extern (local.get 0))
  )
  (func (param (ref null (shared any))) (result (ref null (shared extern)))
    (extern.convert_any (local.get 0))
  )
  (func (param (ref (shared any))) (result (ref (shared extern)))
    (extern.convert_any (local.get 0))
  )
)