• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# source binary: arkcompiler/runtime_core/abc2program/tests/HelloWorldDebug.abc
2
3# ====================
4# LITERALS
5
6_ESModuleRecord_1889 { 21 [ i32:4, string:"./a", string:"./b", string:"./d", string:"./e", i32:1, string:"a", string:"a", method_affiliate:0, i32:1, string:"b", method_affiliate:1, i32:1, string:"c", string:"c", i32:1, string:"e", string:"e", method_affiliate:3, i32:1, method_affiliate:2, ]}
7
8_ESScopeNamesRecord_1865 { 8 [ tag_value:5, string:"HelloWorld", tag_value:5, string:"Lit", tag_value:5, string:"NestedLiteralArray", tag_value:5, string:"hoo", ]}
9
10_GLOBAL_1969 { 6 [ tag_value:5, string:"method", tag_value:22, async_generator_method:.#*@3*#method, tag_value:9, method_affiliate:0, ]}
11
12_GLOBAL_1986 { 2 [ tag_value:2, i32:0, ]}
13
14_GLOBAL_1995 { 8 [ tag_value:5, string:"lit", tag_value:6, method:.#~@1>#lit, tag_value:9, method_affiliate:0, tag_value:2, i32:1, ]}
15
16_GLOBAL_2017 { 6 [ tag_value:5, string:"num", tag_value:2, i32:1, tag_value:2, i32:1, ]}
17
18_GLOBAL_2036 { 10 [ tag_value:5, string:"NestedLiteralArray", tag_value:6, method:.#~@2>#NestedLiteralArray, tag_value:9, method_affiliate:0, tag_value:2, i32:1, tag_value:24, literal_array:_GLOBAL_2017, ]}
19
20
21
22# ====================
23# RECORDS
24
25.language ECMAScript
26.record _ESExpectedPropertyCountAnnotation {
27}
28.record.source_file
29
30.language ECMAScript
31.record _ESModuleRecord {
32	u32 arkcompiler/runtime_core/abc2program/tests/ts/HelloWorld.ts _ESModuleRecord_1889
33}
34.record.source_file
35
36.language ECMAScript
37.record _ESScopeNamesRecord {
38	u32 arkcompiler/runtime_core/abc2program/tests/ts/HelloWorld.ts _ESScopeNamesRecord_1865
39}
40.record.source_file
41
42.language ECMAScript
43.record _ESSlotNumberAnnotation {
44}
45.record.source_file
46
47.language ECMAScript
48.record _GLOBAL {
49}
50.record.source_file
51
52
53# ====================
54# METHODS
55
56.function_kind FunctionKind::NC_FUNCTION
57 _ESSlotNumberAnnotation
58 SlotNumber 1
59.language ECMAScript
60.function any .#*#add(any a0, any a1, any a2, any a3, any a4) {
61	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
62	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
63	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
64	mov v3, a3                               # line: 18446744073709551615           # column: 4294967295
65	mov v4, a4                               # line: 18446744073709551615           # column: 4294967295
66	lda v3                                   # line: 75           # column: 44
67	sta v6                                   # line: 75           # column: 48
68	lda v4                                   # line: 75           # column: 48
69	add2 0x0, v6                             # line: 75           # column: 48
70	return                                   # line: 75           # column: 49
71
72# LOCAL_VARIABLE_TABLE:
73#	 Start   Length  Register           Name   Signature
74	    5        5         0       4funcObj         any
75	    5        5         1     0newTarget         any
76	    5        5         2          0this         any
77	    5        5         3              a         any
78	    5        5         4              b         any
79}
80
81.function_kind FunctionKind::ASYNC_NC_FUNCTION
82 _ESSlotNumberAnnotation
83 SlotNumber 0
84.language ECMAScript
85.function any .#*#asyncArrowFunc(any a0, any a1, any a2) {
86	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
87	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
88	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
89	asyncfunctionenter                       # line: 18446744073709551615           # column: 4294967295
90	sta v3                                   # line: 18446744073709551615           # column: 4294967295
91	label@5:                                 # line: 0           # column: 0
92	ldundefined                              # line: 18446744073709551615           # column: 4294967295
93	asyncfunctionresolve v3                  # line: 18446744073709551615           # column: 4294967295
94	return                                   # line: 86           # column: 53
95	label@8:                                 # line: 0           # column: 0
96	sta v4                                   # line: 86           # column: 23
97	asyncfunctionreject v3                   # line: 86           # column: 23
98	return                                   # line: 86           # column: 53
99	label@11:                                # line: 0           # column: 0
100.catchall :
101	try_begin_label : label@5
102	try_end_label : label@8
103	catch_begin_label : label@8
104	catch_end_label : label@11
105
106# LOCAL_VARIABLE_TABLE:
107#	 Start   Length  Register           Name   Signature
108	    3       11         0       4funcObj         any
109	    3       11         1     0newTarget         any
110	    3       11         2          0this         any
111}
112
113.function_kind FunctionKind::ASYNC_GENERATOR_FUNCTION
114 _ESSlotNumberAnnotation
115 SlotNumber 4
116.language ECMAScript
117.function any .#*#asyncGenerateFunc(any a0, any a1, any a2) {
118	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
119	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
120	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
121	createasyncgeneratorobj v0               # line: 18446744073709551615           # column: 4294967295
122	sta v3                                   # line: 18446744073709551615           # column: 4294967295
123	label@5:                                 # line: 0           # column: 0
124	ldundefined                              # line: 18446744073709551615           # column: 4294967295
125	suspendgenerator v3                      # line: 18446744073709551615           # column: 4294967295
126	lda v3                                   # line: 18446744073709551615           # column: 4294967295
127	resumegenerator                          # line: 18446744073709551615           # column: 4294967295
128	sta v5                                   # line: 18446744073709551615           # column: 4294967295
129	lda v3                                   # line: 18446744073709551615           # column: 4294967295
130	getresumemode                            # line: 18446744073709551615           # column: 4294967295
131	sta v4                                   # line: 18446744073709551615           # column: 4294967295
132	lda.str hello                            # line: 83           # column: 8
133	asyncfunctionawaituncaught v3            # line: 83           # column: 2
134	suspendgenerator v3                      # line: 83           # column: 2
135	lda v3                                   # line: 83           # column: 2
136	resumegenerator                          # line: 83           # column: 2
137	sta v8                                   # line: 83           # column: 2
138	lda v3                                   # line: 83           # column: 2
139	getresumemode                            # line: 83           # column: 2
140	sta v7                                   # line: 83           # column: 2
141	ldai 0x1                                 # line: 83           # column: 2
142	eq 0x0, v7                               # line: 83           # column: 2
143	jeqz label@27                            # line: 83           # column: 2
144	lda v8                                   # line: 83           # column: 2
145	throw                                    # line: 83           # column: 2
146	label@27:                                # line: 0           # column: 0
147	lda v8                                   # line: 83           # column: 2
148	sta v4                                   # line: 83           # column: 2
149	lda v3                                   # line: 83           # column: 2
150	setgeneratorstate 0x2                    # line: 83           # column: 2
151	ldfalse                                  # line: 83           # column: 2
152	sta v7                                   # line: 83           # column: 2
153	asyncgeneratorresolve v3, v4, v7         # line: 83           # column: 2
154	lda v3                                   # line: 83           # column: 2
155	resumegenerator                          # line: 83           # column: 2
156	sta v6                                   # line: 83           # column: 2
157	lda v3                                   # line: 83           # column: 2
158	getresumemode                            # line: 83           # column: 2
159	sta v5                                   # line: 83           # column: 2
160	ldai 0x0                                 # line: 83           # column: 2
161	eq 0x1, v5                               # line: 83           # column: 2
162	jeqz label@65                            # line: 83           # column: 2
163	lda v6                                   # line: 83           # column: 2
164	asyncfunctionawaituncaught v3            # line: 83           # column: 2
165	suspendgenerator v3                      # line: 83           # column: 2
166	lda v3                                   # line: 83           # column: 2
167	resumegenerator                          # line: 83           # column: 2
168	sta v6                                   # line: 83           # column: 2
169	lda v3                                   # line: 83           # column: 2
170	getresumemode                            # line: 83           # column: 2
171	sta v5                                   # line: 83           # column: 2
172	ldai 0x1                                 # line: 83           # column: 2
173	eq 0x2, v5                               # line: 83           # column: 2
174	jeqz label@57                            # line: 83           # column: 2
175	lda v6                                   # line: 83           # column: 2
176	throw                                    # line: 83           # column: 2
177	label@57:                                # line: 0           # column: 0
178	lda v6                                   # line: 83           # column: 2
179	sta v7                                   # line: 83           # column: 2
180	ldtrue                                   # line: 83           # column: 2
181	sta v8                                   # line: 83           # column: 2
182	lda v3                                   # line: 83           # column: 2
183	setgeneratorstate 0x4                    # line: 83           # column: 2
184	asyncgeneratorresolve v3, v7, v8         # line: 83           # column: 2
185	return                                   # line: 84           # column: 1
186	label@65:                                # line: 0           # column: 0
187	ldai 0x1                                 # line: 83           # column: 2
188	eq 0x3, v5                               # line: 83           # column: 2
189	jeqz label@70                            # line: 83           # column: 2
190	lda v6                                   # line: 83           # column: 2
191	throw                                    # line: 83           # column: 2
192	label@70:                                # line: 0           # column: 0
193	lda v6                                   # line: 83           # column: 2
194	ldundefined                              # line: 18446744073709551615           # column: 4294967295
195	sta v4                                   # line: 18446744073709551615           # column: 4294967295
196	ldtrue                                   # line: 18446744073709551615           # column: 4294967295
197	sta v5                                   # line: 18446744073709551615           # column: 4294967295
198	lda v3                                   # line: 18446744073709551615           # column: 4294967295
199	setgeneratorstate 0x4                    # line: 18446744073709551615           # column: 4294967295
200	asyncgeneratorresolve v3, v4, v5         # line: 18446744073709551615           # column: 4294967295
201	return                                   # line: 84           # column: 1
202	label@79:                                # line: 0           # column: 0
203	sta v4                                   # line: 82           # column: 6
204	lda v3                                   # line: 82           # column: 6
205	setgeneratorstate 0x4                    # line: 82           # column: 6
206	lda v4                                   # line: 82           # column: 6
207	asyncgeneratorreject v3                  # line: 82           # column: 6
208	return                                   # line: 84           # column: 1
209	label@85:                                # line: 0           # column: 0
210.catchall :
211	try_begin_label : label@5
212	try_end_label : label@79
213	catch_begin_label : label@79
214	catch_end_label : label@85
215
216# LOCAL_VARIABLE_TABLE:
217#	 Start   Length  Register           Name   Signature
218	    3       89         0       4funcObj         any
219	    3       89         1     4newTarget         any
220	    3       89         2           this         any
221}
222
223.function_kind FunctionKind::SENDABLE_ASYNC_FUNCTION
224 _ESSlotNumberAnnotation
225 SlotNumber 0
226.language ECMAScript
227.function any .#*#asyncSendableFunction(any a0, any a1, any a2) {
228	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
229	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
230	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
231	asyncfunctionenter                       # line: 18446744073709551615           # column: 4294967295
232	sta v3                                   # line: 18446744073709551615           # column: 4294967295
233	label@5:                                 # line: 0           # column: 0
234	lda.str use sendable                     # line: 99           # column: 2
235	ldundefined                              # line: 18446744073709551615           # column: 4294967295
236	asyncfunctionresolve v3                  # line: 18446744073709551615           # column: 4294967295
237	return                                   # line: 100           # column: 1
238	label@9:                                 # line: 0           # column: 0
239	sta v4                                   # line: 98           # column: 6
240	asyncfunctionreject v3                   # line: 98           # column: 6
241	return                                   # line: 100           # column: 1
242	label@12:                                # line: 0           # column: 0
243.catchall :
244	try_begin_label : label@5
245	try_end_label : label@9
246	catch_begin_label : label@9
247	catch_end_label : label@12
248
249# LOCAL_VARIABLE_TABLE:
250#	 Start   Length  Register           Name   Signature
251	    3       12         0       4funcObj         any
252	    3       12         1     4newTarget         any
253	    3       12         2           this         any
254}
255
256.function_kind FunctionKind::FUNCTION
257 _ESSlotNumberAnnotation
258 SlotNumber 24
259.language ECMAScript
260.function any .#*#foo(any a0, any a1, any a2) {
261	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
262	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
263	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
264	ldundefined                              # line: 40           # column: 2
265	sta v4                                   # line: 40           # column: 2
266	label@5:                                 # line: 0           # column: 0
267	ldai 0xb                                 # line: 41           # column: 11
268	trystglobalbyname 0x0, varA              # line: 41           # column: 4
269	ldai 0x16                                # line: 42           # column: 8
270	trystglobalbyname 0x1, x                 # line: 42           # column: 4
271	label@9:                                 # line: 0           # column: 0
272	ldai 0x1                                 # line: 44           # column: 13
273	trystglobalbyname 0x2, varA              # line: 44           # column: 6
274	label@11:                                # line: 0           # column: 0
275	jmp label@21                             # line: 43           # column: 4
276	label@12:                                # line: 0           # column: 0
277	sta v5                                   # line: 45           # column: 13
278	lda.str inner catch                      # line: 46           # column: 12
279	trystglobalbyname 0x3, msg               # line: 46           # column: 6
280	tryldglobalbyname 0x4, print             # line: 47           # column: 6
281	sta v6                                   # line: 47           # column: 6
282	tryldglobalbyname 0x5, msg               # line: 47           # column: 12
283	sta v7                                   # line: 47           # column: 12
284	lda v6                                   # line: 47           # column: 6
285	callarg1 0x6, v7                         # line: 47           # column: 6
286	label@21:                                # line: 0           # column: 0
287	tryldglobalbyname 0x8, varA              # line: 49           # column: 8
288	sta v5                                   # line: 49           # column: 8
289	lda.str                                  # line: 49           # column: 17
290	stricteq 0x9, v5                         # line: 49           # column: 8
291	jeqz label@28                            # line: 49           # column: 8
292	lda.str null                             # line: 50           # column: 12
293	throw                                    # line: 50           # column: 6
294	label@28:                                # line: 0           # column: 0
295	tryldglobalbyname 0xa, x                 # line: 52           # column: 8
296	sta v5                                   # line: 52           # column: 8
297	ldai 0x64                                # line: 52           # column: 12
298	greater 0xb, v5                          # line: 52           # column: 8
299	jeqz label@36                            # line: 52           # column: 8
300	lda.str max                              # line: 53           # column: 12
301	throw                                    # line: 53           # column: 6
302	jmp label@38                             # line: 53           # column: 6
303	label@36:                                # line: 0           # column: 0
304	lda.str min                              # line: 55           # column: 12
305	throw                                    # line: 55           # column: 6
306	label@38:                                # line: 0           # column: 0
307	jmp label@48                             # line: 40           # column: 2
308	label@39:                                # line: 0           # column: 0
309	sta v5                                   # line: 58           # column: 9
310	lda.str outter catch                     # line: 59           # column: 11
311	trystglobalbyname 0xc, masg              # line: 59           # column: 4
312	tryldglobalbyname 0xd, print             # line: 60           # column: 4
313	sta v6                                   # line: 60           # column: 4
314	tryldglobalbyname 0xe, msg               # line: 60           # column: 10
315	sta v7                                   # line: 60           # column: 10
316	lda v6                                   # line: 60           # column: 4
317	callarg1 0xf, v7                         # line: 60           # column: 4
318	label@48:                                # line: 0           # column: 0
319	ldhole                                   # line: 40           # column: 2
320	sta v5                                   # line: 40           # column: 2
321	jmp label@52                             # line: 40           # column: 2
322	label@51:                                # line: 0           # column: 0
323	sta v5                                   # line: 40           # column: 2
324	label@52:                                # line: 0           # column: 0
325	lda v4                                   # line: 40           # column: 2
326	sta v6                                   # line: 40           # column: 2
327	ldundefined                              # line: 40           # column: 2
328	eq 0x11, v6                              # line: 40           # column: 2
329	jeqz label@66                            # line: 40           # column: 2
330	sta v4                                   # line: 40           # column: 2
331	lda.str error                            # line: 63           # column: 10
332	trystglobalbyname 0x12, msg              # line: 63           # column: 4
333	tryldglobalbyname 0x13, print            # line: 64           # column: 4
334	sta v6                                   # line: 64           # column: 4
335	tryldglobalbyname 0x14, msg              # line: 64           # column: 10
336	sta v7                                   # line: 64           # column: 10
337	lda v6                                   # line: 64           # column: 4
338	callarg1 0x15, v7                        # line: 64           # column: 4
339	label@66:                                # line: 0           # column: 0
340	lda v5                                   # line: 40           # column: 2
341	sta v6                                   # line: 40           # column: 2
342	ldhole                                   # line: 40           # column: 2
343	sta v7                                   # line: 40           # column: 2
344	lda v6                                   # line: 40           # column: 2
345	noteq 0x17, v7                           # line: 40           # column: 2
346	jeqz label@75                            # line: 40           # column: 2
347	lda v6                                   # line: 40           # column: 2
348	throw                                    # line: 40           # column: 2
349	label@75:                                # line: 0           # column: 0
350	ldundefined                              # line: 18446744073709551615           # column: 4294967295
351	returnundefined                          # line: 66           # column: 1
352.catchall :
353	try_begin_label : label@9
354	try_end_label : label@11
355	catch_begin_label : label@12
356	catch_end_label : label@21
357.catchall :
358	try_begin_label : label@5
359	try_end_label : label@38
360	catch_begin_label : label@39
361	catch_end_label : label@48
362.catchall :
363	try_begin_label : label@5
364	try_end_label : label@48
365	catch_begin_label : label@51
366	catch_end_label : label@52
367
368# LOCAL_VARIABLE_TABLE:
369#	 Start   Length  Register           Name   Signature
370	    3       88         0       4funcObj         any
371	    3       88         1     4newTarget         any
372	    3       88         2           this         any
373	   48       10         5            err         any
374}
375
376.function_kind FunctionKind::GENERATOR_FUNCTION
377 _ESSlotNumberAnnotation
378 SlotNumber 4
379.language ECMAScript
380.function any .#*#generateFunc(any a0, any a1, any a2) {
381	label@0:                                 # line: 0           # column: 0
382	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
383	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
384	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
385	creategeneratorobj v0                    # line: 18446744073709551615           # column: 4294967295
386	sta v3                                   # line: 18446744073709551615           # column: 4294967295
387	ldundefined                              # line: 18446744073709551615           # column: 4294967295
388	suspendgenerator v3                      # line: 18446744073709551615           # column: 4294967295
389	lda v3                                   # line: 18446744073709551615           # column: 4294967295
390	resumegenerator                          # line: 18446744073709551615           # column: 4294967295
391	sta v5                                   # line: 18446744073709551615           # column: 4294967295
392	lda v3                                   # line: 18446744073709551615           # column: 4294967295
393	getresumemode                            # line: 18446744073709551615           # column: 4294967295
394	sta v4                                   # line: 18446744073709551615           # column: 4294967295
395	ldai 0x0                                 # line: 18446744073709551615           # column: 4294967295
396	eq 0x0, v4                               # line: 18446744073709551615           # column: 4294967295
397	jeqz label@18                            # line: 18446744073709551615           # column: 4294967295
398	lda v5                                   # line: 18446744073709551615           # column: 4294967295
399	return                                   # line: 18446744073709551615           # column: 4294967295
400	label@18:                                # line: 0           # column: 0
401	ldai 0x1                                 # line: 18446744073709551615           # column: 4294967295
402	eq 0x1, v4                               # line: 18446744073709551615           # column: 4294967295
403	jeqz label@23                            # line: 18446744073709551615           # column: 4294967295
404	lda v5                                   # line: 18446744073709551615           # column: 4294967295
405	throw                                    # line: 18446744073709551615           # column: 4294967295
406	label@23:                                # line: 0           # column: 0
407	lda v5                                   # line: 18446744073709551615           # column: 4294967295
408	lda.str hello                            # line: 79           # column: 8
409	sta v6                                   # line: 79           # column: 2
410	ldfalse                                  # line: 79           # column: 2
411	sta v7                                   # line: 79           # column: 2
412	createiterresultobj v6, v7               # line: 79           # column: 2
413	suspendgenerator v3                      # line: 79           # column: 2
414	lda v3                                   # line: 79           # column: 2
415	resumegenerator                          # line: 79           # column: 2
416	sta v9                                   # line: 79           # column: 2
417	lda v3                                   # line: 79           # column: 2
418	getresumemode                            # line: 79           # column: 2
419	sta v8                                   # line: 79           # column: 2
420	ldai 0x0                                 # line: 79           # column: 2
421	eq 0x2, v8                               # line: 79           # column: 2
422	jeqz label@41                            # line: 79           # column: 2
423	lda v9                                   # line: 79           # column: 2
424	return                                   # line: 80           # column: 1
425	label@41:                                # line: 0           # column: 0
426	ldai 0x1                                 # line: 79           # column: 2
427	eq 0x3, v8                               # line: 79           # column: 2
428	jeqz label@46                            # line: 79           # column: 2
429	lda v9                                   # line: 79           # column: 2
430	throw                                    # line: 79           # column: 2
431	label@46:                                # line: 0           # column: 0
432	lda v9                                   # line: 79           # column: 2
433	ldundefined                              # line: 18446744073709551615           # column: 4294967295
434	return                                   # line: 80           # column: 1
435	label@49:                                # line: 0           # column: 0
436	throw                                    # line: 78           # column: 0
437	label@50:                                # line: 0           # column: 0
438.catchall :
439	try_begin_label : label@0
440	try_end_label : label@49
441	catch_begin_label : label@49
442	catch_end_label : label@50
443
444# LOCAL_VARIABLE_TABLE:
445#	 Start   Length  Register           Name   Signature
446	    4       53         0       4funcObj         any
447	    4       53         1     4newTarget         any
448	    4       53         2           this         any
449}
450
451.function_kind FunctionKind::FUNCTION
452 _ESSlotNumberAnnotation
453 SlotNumber 0
454.language ECMAScript
455.function any .#*#goo(any a0, any a1, any a2) {
456	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
457	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
458	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
459	ldundefined                              # line: 18446744073709551615           # column: 4294967295
460	returnundefined                          # line: 68           # column: 24
461
462# LOCAL_VARIABLE_TABLE:
463#	 Start   Length  Register           Name   Signature
464	    3        2         0       4funcObj         any
465	    3        2         1     4newTarget         any
466	    3        2         2           this         any
467}
468
469.function_kind FunctionKind::FUNCTION
470 _ESSlotNumberAnnotation
471 SlotNumber 2
472.language ECMAScript
473.function any .#*#hoo(any a0, any a1, any a2) {
474	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
475	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
476	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
477	fldai 1.230000e+00                       # line: 71           # column: 9
478	trystglobalbyname 0x0, varA              # line: 71           # column: 2
479	createobjectwithbuffer 0x1, _GLOBAL_1969 # line: 72           # column: 12
480	sta v5                                   # line: 72           # column: 12
481	lda v5                                   # line: 72           # column: 12
482	sta v3                                   # line: 72           # column: 6
483	ldundefined                              # line: 18446744073709551615           # column: 4294967295
484	returnundefined                          # line: 73           # column: 1
485
486# LOCAL_VARIABLE_TABLE:
487#	 Start   Length  Register           Name   Signature
488	    3        8         0       4funcObj         any
489	    3        8         1     4newTarget         any
490	    3        8         2           this         any
491	    3        8         3            obj         any
492}
493
494.function_kind FunctionKind::SENDABLE_FUNCTION
495 _ESSlotNumberAnnotation
496 SlotNumber 0
497.language ECMAScript
498.function any .#*#sendableFunction(any a0, any a1, any a2) {
499	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
500	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
501	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
502	lda.str use sendable                     # line: 95           # column: 2
503	ldundefined                              # line: 18446744073709551615           # column: 4294967295
504	returnundefined                          # line: 96           # column: 1
505
506# LOCAL_VARIABLE_TABLE:
507#	 Start   Length  Register           Name   Signature
508	    3        3         0       4funcObj         any
509	    3        3         1     4newTarget         any
510	    3        3         2           this         any
511}
512
513.function_kind FunctionKind::ASYNC_FUNCTION
514 _ESSlotNumberAnnotation
515 SlotNumber 0
516.language ECMAScript
517.function any .#*@3*#method(any a0, any a1, any a2) {
518	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
519	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
520	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
521	createasyncgeneratorobj v0               # line: 18446744073709551615           # column: 4294967295
522	sta v3                                   # line: 18446744073709551615           # column: 4294967295
523	label@5:                                 # line: 0           # column: 0
524	ldundefined                              # line: 18446744073709551615           # column: 4294967295
525	suspendgenerator v3                      # line: 18446744073709551615           # column: 4294967295
526	lda v3                                   # line: 18446744073709551615           # column: 4294967295
527	resumegenerator                          # line: 18446744073709551615           # column: 4294967295
528	sta v5                                   # line: 18446744073709551615           # column: 4294967295
529	lda v3                                   # line: 18446744073709551615           # column: 4294967295
530	getresumemode                            # line: 18446744073709551615           # column: 4294967295
531	sta v4                                   # line: 18446744073709551615           # column: 4294967295
532	ldundefined                              # line: 18446744073709551615           # column: 4294967295
533	sta v4                                   # line: 18446744073709551615           # column: 4294967295
534	ldtrue                                   # line: 18446744073709551615           # column: 4294967295
535	sta v5                                   # line: 18446744073709551615           # column: 4294967295
536	lda v3                                   # line: 18446744073709551615           # column: 4294967295
537	setgeneratorstate 0x4                    # line: 18446744073709551615           # column: 4294967295
538	asyncgeneratorresolve v3, v4, v5         # line: 18446744073709551615           # column: 4294967295
539	return                                   # line: 72           # column: 72
540	label@21:                                # line: 0           # column: 0
541	sta v4                                   # line: 72           # column: 28
542	lda v3                                   # line: 72           # column: 28
543	setgeneratorstate 0x4                    # line: 72           # column: 28
544	lda v4                                   # line: 72           # column: 28
545	asyncgeneratorreject v3                  # line: 72           # column: 28
546	return                                   # line: 72           # column: 72
547	label@27:                                # line: 0           # column: 0
548.catchall :
549	try_begin_label : label@5
550	try_end_label : label@21
551	catch_begin_label : label@21
552	catch_end_label : label@27
553
554# LOCAL_VARIABLE_TABLE:
555#	 Start   Length  Register           Name   Signature
556	    3       27         0       4funcObj         any
557	    3       27         1     4newTarget         any
558	    3       27         2           this         any
559}
560
561.function_kind FunctionKind::FUNCTION
562 _ESExpectedPropertyCountAnnotation
563 ExpectedPropertyCount 1
564 _ESSlotNumberAnnotation
565 SlotNumber 2
566.language ECMAScript
567.function any .#~@0=#HelloWorld(any a0, any a1, any a2) {
568	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
569	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
570	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
571	lda v2                                   # line: 22           # column: 2
572	sta v4                                   # line: 22           # column: 2
573	lda.str HelloWorld                       # line: 22           # column: 8
574	stobjbyname 0x0, str, v4                 # line: 22           # column: 2
575	lda v2                                   # line: 18446744073709551615           # column: 4294967295
576	return                                   # line: 0           # column: 0
577
578# LOCAL_VARIABLE_TABLE:
579#	 Start   Length  Register           Name   Signature
580	    3        6         0       4funcObj         any
581	    3        6         1     4newTarget         any
582	    3        6         2           this         any
583}
584
585.function_kind FunctionKind::FUNCTION
586 _ESSlotNumberAnnotation
587 SlotNumber 0
588.language ECMAScript
589.function any .#~@1=#Lit(any a0, any a1, any a2) {
590	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
591	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
592	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
593	lda v2                                   # line: 18446744073709551615           # column: 4294967295
594	return                                   # line: 0           # column: 0
595
596# LOCAL_VARIABLE_TABLE:
597#	 Start   Length  Register           Name   Signature
598	    3        2         0       4funcObj         any
599	    3        2         1     4newTarget         any
600	    3        2         2           this         any
601}
602
603.function_kind FunctionKind::NONE
604 _ESSlotNumberAnnotation
605 SlotNumber 2
606.language ECMAScript
607.function any .#~@1>#lit(any a0, any a1, any a2) {
608	label@0:                                 # line: 0           # column: 0
609	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
610	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
611	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
612	creategeneratorobj v0                    # line: 18446744073709551615           # column: 4294967295
613	sta v3                                   # line: 18446744073709551615           # column: 4294967295
614	ldundefined                              # line: 18446744073709551615           # column: 4294967295
615	suspendgenerator v3                      # line: 18446744073709551615           # column: 4294967295
616	lda v3                                   # line: 18446744073709551615           # column: 4294967295
617	resumegenerator                          # line: 18446744073709551615           # column: 4294967295
618	sta v5                                   # line: 18446744073709551615           # column: 4294967295
619	lda v3                                   # line: 18446744073709551615           # column: 4294967295
620	getresumemode                            # line: 18446744073709551615           # column: 4294967295
621	sta v4                                   # line: 18446744073709551615           # column: 4294967295
622	ldai 0x0                                 # line: 18446744073709551615           # column: 4294967295
623	eq 0x0, v4                               # line: 18446744073709551615           # column: 4294967295
624	jeqz label@18                            # line: 18446744073709551615           # column: 4294967295
625	lda v5                                   # line: 18446744073709551615           # column: 4294967295
626	return                                   # line: 18446744073709551615           # column: 4294967295
627	label@18:                                # line: 0           # column: 0
628	ldai 0x1                                 # line: 18446744073709551615           # column: 4294967295
629	eq 0x1, v4                               # line: 18446744073709551615           # column: 4294967295
630	jeqz label@23                            # line: 18446744073709551615           # column: 4294967295
631	lda v5                                   # line: 18446744073709551615           # column: 4294967295
632	throw                                    # line: 18446744073709551615           # column: 4294967295
633	label@23:                                # line: 0           # column: 0
634	lda v5                                   # line: 18446744073709551615           # column: 4294967295
635	ldundefined                              # line: 18446744073709551615           # column: 4294967295
636	return                                   # line: 26           # column: 45
637	label@26:                                # line: 0           # column: 0
638	throw                                    # line: 26           # column: 6
639	label@27:                                # line: 0           # column: 0
640.catchall :
641	try_begin_label : label@0
642	try_end_label : label@26
643	catch_begin_label : label@26
644	catch_end_label : label@27
645
646# LOCAL_VARIABLE_TABLE:
647#	 Start   Length  Register           Name   Signature
648	    4       28         0       4funcObj         any
649	    4       28         1     4newTarget         any
650	    4       28         2           this         any
651}
652
653.function_kind FunctionKind::NONE
654 _ESExpectedPropertyCountAnnotation
655 ExpectedPropertyCount 1
656 _ESSlotNumberAnnotation
657 SlotNumber 2
658.language ECMAScript
659.function any .#~@2=#NestedLiteralArray(any a0, any a1, any a2) {
660	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
661	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
662	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
663	lda.str use sendable                     # line: 33           # column: 4
664	lda v2                                   # line: 30           # column: 2
665	sta v4                                   # line: 30           # column: 2
666	ldai 0x1                                 # line: 30           # column: 16
667	stobjbyname 0x0, num, v4                 # line: 30           # column: 2
668	lda v2                                   # line: 18446744073709551615           # column: 4294967295
669	return                                   # line: 34           # column: 3
670
671# LOCAL_VARIABLE_TABLE:
672#	 Start   Length  Register           Name   Signature
673	    3        7         0       4funcObj         any
674	    3        7         1     4newTarget         any
675	    3        7         2           this         any
676}
677
678.function_kind FunctionKind::NONE
679 _ESSlotNumberAnnotation
680 SlotNumber 0
681.language ECMAScript
682.function any .#~@2>#NestedLiteralArray(any a0, any a1, any a2) {
683	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
684	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
685	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
686	ldundefined                              # line: 18446744073709551615           # column: 4294967295
687	returnundefined                          # line: 31           # column: 32
688
689# LOCAL_VARIABLE_TABLE:
690#	 Start   Length  Register           Name   Signature
691	    3        2         0       4funcObj         any
692	    3        2         1     4newTarget         any
693	    3        2         2           this         any
694}
695
696.function_kind FunctionKind::FUNCTION
697 _ESSlotNumberAnnotation
698 SlotNumber 30
699.language ECMAScript
700.function any .func_main_0(any a0, any a1, any a2) {
701	mov v0, a0                               # line: 18446744073709551615           # column: 4294967295
702	mov v1, a1                               # line: 18446744073709551615           # column: 4294967295
703	mov v2, a2                               # line: 18446744073709551615           # column: 4294967295
704	definefunc 0x0, .#*#asyncGenerateFunc, 0x0 # line: 18446744073709551615           # column: 4294967295
705	sta v8                                   # line: 18446744073709551615           # column: 4294967295
706	definefunc 0x1, .#*#asyncSendableFunction, 0x0 # line: 18446744073709551615           # column: 4294967295
707	sta v9                                   # line: 18446744073709551615           # column: 4294967295
708	definefunc 0x2, .#*#foo, 0x0             # line: 18446744073709551615           # column: 4294967295
709	sta v11                                  # line: 18446744073709551615           # column: 4294967295
710	definefunc 0x3, .#*#generateFunc, 0x0    # line: 18446744073709551615           # column: 4294967295
711	sta v12                                  # line: 18446744073709551615           # column: 4294967295
712	definefunc 0x4, .#*#goo, 0x0             # line: 18446744073709551615           # column: 4294967295
713	sta v13                                  # line: 18446744073709551615           # column: 4294967295
714	definefunc 0x5, .#*#hoo, 0x0             # line: 18446744073709551615           # column: 4294967295
715	sta v14                                  # line: 18446744073709551615           # column: 4294967295
716	definefunc 0x6, .#*#sendableFunction, 0x0 # line: 18446744073709551615           # column: 4294967295
717	sta v15                                  # line: 18446744073709551615           # column: 4294967295
718	getmodulenamespace 0x1                   # line: 18446744073709551615           # column: 4294967295
719	sta v10                                  # line: 18446744073709551615           # column: 4294967295
720	ldundefined                              # line: 17           # column: 11
721	stmodulevar 0x0                          # line: 17           # column: 11
722	ldhole                                   # line: 21           # column: 17
723	sta v19                                  # line: 21           # column: 17
724	defineclasswithbuffer 0x7, .#~@0=#HelloWorld, _GLOBAL_1986, 0x0, v19 # line: 21           # column: 17
725	sta v17                                  # line: 21           # column: 17
726	sta v18                                  # line: 21           # column: 6
727	lda v17                                  # line: 21           # column: 17
728	ldobjbyname 0x8, prototype               # line: 21           # column: 17
729	sta v20                                  # line: 21           # column: 17
730	lda v17                                  # line: 21           # column: 17
731	sta v3                                   # line: 21           # column: 6
732	ldhole                                   # line: 25           # column: 10
733	sta v19                                  # line: 25           # column: 10
734	defineclasswithbuffer 0xa, .#~@1=#Lit, _GLOBAL_1995, 0x0, v19 # line: 25           # column: 10
735	sta v17                                  # line: 25           # column: 10
736	sta v18                                  # line: 25           # column: 6
737	lda v17                                  # line: 25           # column: 10
738	ldobjbyname 0xb, prototype               # line: 25           # column: 10
739	sta v20                                  # line: 25           # column: 10
740	lda v17                                  # line: 25           # column: 10
741	sta v4                                   # line: 25           # column: 6
742	ldhole                                   # line: 29           # column: 25
743	sta v19                                  # line: 29           # column: 25
744	callruntime.definesendableclass 0xd, .#~@2=#NestedLiteralArray, _GLOBAL_2036, 0x0, v19 # line: 29           # column: 25
745	sta v17                                  # line: 29           # column: 25
746	sta v18                                  # line: 29           # column: 6
747	sta v5                                   # line: 29           # column: 6
748	lda.str                                  # line: 37           # column: 14
749	trystglobalbyname 0xe, string            # line: 37           # column: 5
750	definefunc 0xf, .#*#add, 0x2             # line: 75           # column: 10
751	sta v6                                   # line: 75           # column: 4
752	lda v6                                   # line: 76           # column: 0
753	sta v17                                  # line: 76           # column: 0
754	ldai 0x1                                 # line: 76           # column: 4
755	sta v18                                  # line: 76           # column: 4
756	ldai 0x2                                 # line: 76           # column: 7
757	sta v19                                  # line: 76           # column: 7
758	lda v17                                  # line: 76           # column: 0
759	callargs2 0x10, v18, v19                 # line: 76           # column: 0
760	definefunc 0x12, .#*#asyncArrowFunc, 0x0 # line: 86           # column: 23
761	sta v7                                   # line: 86           # column: 6
762	lda v11                                  # line: 88           # column: 0
763	sta v17                                  # line: 88           # column: 0
764	lda v17                                  # line: 88           # column: 0
765	callarg0 0x13                            # line: 88           # column: 0
766	tryldglobalbyname 0x15, print            # line: 90           # column: 0
767	sta v17                                  # line: 90           # column: 0
768	lda v13                                  # line: 90           # column: 6
769	sta v19                                  # line: 90           # column: 6
770	lda v19                                  # line: 90           # column: 10
771	ldobjbyname 0x16, toString               # line: 90           # column: 10
772	sta v18                                  # line: 90           # column: 10
773	lda v18                                  # line: 90           # column: 10
774	callthis0 0x18, v19                      # line: 90           # column: 10
775	sta v18                                  # line: 90           # column: 6
776	lda v17                                  # line: 90           # column: 0
777	callarg1 0x1a, v18                       # line: 90           # column: 0
778	lda v14                                  # line: 92           # column: 0
779	sta v17                                  # line: 92           # column: 0
780	lda v17                                  # line: 92           # column: 0
781	callarg0 0x1c                            # line: 92           # column: 0
782	ldundefined                              # line: 18446744073709551615           # column: 4294967295
783	returnundefined                          # line: 18446744073709551615           # column: 4294967295
784
785# LOCAL_VARIABLE_TABLE:
786#	 Start   Length  Register           Name   Signature
787	    3       80         0       4funcObj         any
788	    3       80         1     4newTarget         any
789	    3       80         2           this         any
790	    3       80         3     HelloWorld         any
791	    3       80         4            Lit         any
792	    3       80         5  NestedLiteralArray         any
793	    3       80         6            add         any
794	    3       80         7  asyncArrowFunc         any
795	    3       80         8  asyncGenerateFunc         any
796	    3       80         9  asyncSendableFunction         any
797	    3       80        10              b         any
798	    3       80        11            foo         any
799	    3       80        12   generateFunc         any
800	    3       80        13            goo         any
801	    3       80        14            hoo         any
802	    3       80        15  sendableFunction         any
803	   41        5        18  NestedLiteralArray         any
804}
805
806# ====================
807# STRING
808
809.#*#add
810.#*#asyncArrowFunc
811.#*#asyncGenerateFunc
812.#*#asyncSendableFunction
813.#*#foo
814.#*#generateFunc
815.#*#goo
816.#*#hoo
817.#*#sendableFunction
818.#~@0=#HelloWorld
819.#~@1=#Lit
820.#~@2=#NestedLiteralArray
821HelloWorld
822error
823hello
824inner catch
825masg
826max
827min
828msg
829null
830num
831outter catch
832print
833prototype
834str
835string
836toString
837use sendable
838varA
839x
840