File: type-builder.txt

package info (click to toggle)
binaryen 99-3
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 31,352 kB
  • sloc: cpp: 134,831; javascript: 61,839; ansic: 12,369; python: 4,620; pascal: 441; sh: 72; asm: 27; makefile: 6
file content (24 lines) | stat: -rw-r--r-- 1,183 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
24
;; Test TypeBuilder
Before setting heap types:
(ref $sig) => (ref (func))
(ref $struct) => (ref (func))
(ref $array) => (ref (func))
(ref null $array) => (ref null (func))
(rtt 0 $array) => (rtt 0 (func))

After setting heap types:
(ref $sig) => (ref (func (param (ref (struct (field (ref null (array (mut externref))) (mut (rtt 0 (array (mut externref)))))))) (result (ref (array (mut externref))) i32)))
(ref $struct) => (ref (struct (field (ref null (array (mut externref))) (mut (rtt 0 (array (mut externref)))))))
(ref $array) => (ref (array (mut externref)))
(ref null $array) => (ref null (array (mut externref)))
(rtt 0 $array) => (rtt 0 (array (mut externref)))

After building types:
(ref $sig) => (ref (func (param (ref (struct (field (ref null (array (mut externref))) (mut (rtt 0 (array (mut externref)))))))) (result (ref (array (mut externref))) i32)))
(ref $struct) => (ref (struct (field (ref null (array (mut externref))) (mut (rtt 0 (array (mut externref)))))))
(ref $array) => (ref (array (mut externref)))
(ref null $array) => (ref null (array (mut externref)))
(rtt 0 $array) => (rtt 0 (array (mut externref)))

;; Test canonicalization
;; Test recursive types