summaryrefslogtreecommitdiff
path: root/test/dump/call_ref.txt
blob: 5c24aff4794eaf5ce71084c64144f783acd2d784 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
;;; TOOL: run-objdump
;;; ARGS0: -v --enable-function-references

(module
  (func (export "main") (result i32)
    i32.const 10
    ref.func $foo
    call_ref
  )
  (func $foo (param $x i32) (result i32)
    (i32.add (local.get $x)
             (i32.const 19))
  )
  (elem declare funcref (ref.func $foo))
)

(;; STDERR ;;;
0000000: 0061 736d                                 ; WASM_BINARY_MAGIC
0000004: 0100 0000                                 ; WASM_BINARY_VERSION
; section "Type" (1)
0000008: 01                                        ; section code
0000009: 00                                        ; section size (guess)
000000a: 02                                        ; num types
; func type 0
000000b: 60                                        ; func
000000c: 00                                        ; num params
000000d: 01                                        ; num results
000000e: 7f                                        ; i32
; func type 1
000000f: 60                                        ; func
0000010: 01                                        ; num params
0000011: 7f                                        ; i32
0000012: 01                                        ; num results
0000013: 7f                                        ; i32
0000009: 0a                                        ; FIXUP section size
; section "Function" (3)
0000014: 03                                        ; section code
0000015: 00                                        ; section size (guess)
0000016: 02                                        ; num functions
0000017: 00                                        ; function 0 signature index
0000018: 01                                        ; function 1 signature index
0000015: 03                                        ; FIXUP section size
; section "Export" (7)
0000019: 07                                        ; section code
000001a: 00                                        ; section size (guess)
000001b: 01                                        ; num exports
000001c: 04                                        ; string length
000001d: 6d61 696e                                main  ; export name
0000021: 00                                        ; export kind
0000022: 00                                        ; export func index
000001a: 08                                        ; FIXUP section size
; section "Elem" (9)
0000023: 09                                        ; section code
0000024: 00                                        ; section size (guess)
0000025: 01                                        ; num elem segments
; elem segment header 0
0000026: 03                                        ; segment flags
0000027: 00                                        ; elem list type
0000028: 01                                        ; num elems
0000029: 01                                        ; elem function index
0000024: 05                                        ; FIXUP section size
; section "Code" (10)
000002a: 0a                                        ; section code
000002b: 00                                        ; section size (guess)
000002c: 02                                        ; num functions
; function body 0
000002d: 00                                        ; func body size (guess)
000002e: 00                                        ; local decl count
000002f: 41                                        ; i32.const
0000030: 0a                                        ; i32 literal
0000031: d2                                        ; ref.func
0000032: 01                                        ; function index
0000033: 14                                        ; call_ref
0000034: 0b                                        ; end
000002d: 07                                        ; FIXUP func body size
; function body 1
0000035: 00                                        ; func body size (guess)
0000036: 00                                        ; local decl count
0000037: 20                                        ; local.get
0000038: 00                                        ; local index
0000039: 41                                        ; i32.const
000003a: 13                                        ; i32 literal
000003b: 6a                                        ; i32.add
000003c: 0b                                        ; end
0000035: 07                                        ; FIXUP func body size
000002b: 11                                        ; FIXUP section size
;;; STDERR ;;)
(;; STDOUT ;;;

call_ref.wasm:	file format wasm 0x1

Code Disassembly:

00002e func[0] <main>:
 00002f: 41 0a                      | i32.const 10
 000031: d2 01                      | ref.func 1
 000033: 14                         | call_ref
 000034: 0b                         | end
000036 func[1]:
 000037: 20 00                      | local.get 0
 000039: 41 13                      | i32.const 19
 00003b: 6a                         | i32.add
 00003c: 0b                         | end
;;; STDOUT ;;)