• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# source binary: arkcompiler/runtime_core/abc2program/tests/HelloWorld.abc
2
3# ====================
4# LITERALS
5
6_ESModuleRecord_1664 { 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_1640 { 8 [ tag_value:5, string:"HelloWorld", tag_value:5, string:"Lit", tag_value:5, string:"NestedLiteralArray", tag_value:5, string:"hoo", ]}
9
10_GLOBAL_1744 { 6 [ tag_value:5, string:"method", tag_value:22, async_generator_method:.#*@3*#method, tag_value:9, method_affiliate:0, ]}
11
12_GLOBAL_1761 { 2 [ tag_value:2, i32:0, ]}
13
14_GLOBAL_1770 { 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_1792 { 6 [ tag_value:5, string:"num", tag_value:2, i32:1, tag_value:2, i32:1, ]}
17
18_GLOBAL_1811 { 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_1792, ]}
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_1664
33}
34.record.source_file
35
36.language ECMAScript
37.record _ESScopeNamesRecord {
38	u32 arkcompiler/runtime_core/abc2program/tests/ts/HelloWorld.ts _ESScopeNamesRecord_1640
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	lda a4                                   # line: 75           # column: 0
62	add2 0x0, a3                             # line: 75           # column: 0
63	return                                   # line: 75           # column: 0
64}
65
66.function_kind FunctionKind::ASYNC_NC_FUNCTION
67 _ESSlotNumberAnnotation
68 SlotNumber 0
69.language ECMAScript
70.function any .#*#asyncArrowFunc(any a0, any a1, any a2) {
71	nop                                      # line: 18446744073709551615           # column: 0
72	asyncfunctionenter                       # line: 18446744073709551615           # column: 0
73	sta v0                                   # line: 18446744073709551615           # column: 0
74	label@3:                                 # line: 0           # column: 0
75	ldundefined                              # line: 18446744073709551615           # column: 0
76	asyncfunctionresolve v0                  # line: 18446744073709551615           # column: 0
77	return                                   # line: 86           # column: 0
78	label@6:                                 # line: 0           # column: 0
79	sta v1                                   # line: 86           # column: 0
80	lda v1                                   # line: 86           # column: 0
81	asyncfunctionreject v0                   # line: 86           # column: 0
82	return                                   # line: 86           # column: 0
83.catchall :
84	try_begin_label : label@3
85	try_end_label : label@6
86	catch_begin_label : label@6
87	catch_end_label : label@6
88}
89
90.function_kind FunctionKind::ASYNC_GENERATOR_FUNCTION
91 _ESSlotNumberAnnotation
92 SlotNumber 4
93.language ECMAScript
94.function any .#*#asyncGenerateFunc(any a0, any a1, any a2) {
95	nop                                      # line: 18446744073709551615           # column: 0
96	createasyncgeneratorobj a0               # line: 18446744073709551615           # column: 0
97	sta v0                                   # line: 18446744073709551615           # column: 0
98	label@3:                                 # line: 0           # column: 0
99	ldai 0x1                                 # line: 18446744073709551615           # column: 0
100	sta v2                                   # line: 18446744073709551615           # column: 0
101	ldundefined                              # line: 18446744073709551615           # column: 0
102	suspendgenerator v0                      # line: 18446744073709551615           # column: 0
103	lda v0                                   # line: 18446744073709551615           # column: 0
104	resumegenerator                          # line: 18446744073709551615           # column: 0
105	lda v0                                   # line: 18446744073709551615           # column: 0
106	getresumemode                            # line: 18446744073709551615           # column: 0
107	lda.str hello                            # line: 83           # column: 0
108	asyncfunctionawaituncaught v0            # line: 83           # column: 0
109	suspendgenerator v0                      # line: 83           # column: 0
110	lda v0                                   # line: 83           # column: 0
111	resumegenerator                          # line: 83           # column: 0
112	sta v3                                   # line: 83           # column: 0
113	lda v0                                   # line: 83           # column: 0
114	getresumemode                            # line: 83           # column: 0
115	sta v4                                   # line: 83           # column: 0
116	lda v2                                   # line: 83           # column: 0
117	eq 0x0, v4                               # line: 83           # column: 0
118	jeqz label@25                            # line: 83           # column: 0
119	lda v3                                   # line: 83           # column: 0
120	throw                                    # line: 83           # column: 0
121	label@25:                                # line: 0           # column: 0
122	lda v0                                   # line: 83           # column: 0
123	setgeneratorstate 0x2                    # line: 83           # column: 0
124	ldfalse                                  # line: 83           # column: 0
125	sta v4                                   # line: 83           # column: 0
126	asyncgeneratorresolve v0, v3, v4         # line: 83           # column: 0
127	lda v0                                   # line: 83           # column: 0
128	resumegenerator                          # line: 83           # column: 0
129	sta v3                                   # line: 83           # column: 0
130	lda v0                                   # line: 83           # column: 0
131	getresumemode                            # line: 83           # column: 0
132	sta v4                                   # line: 83           # column: 0
133	ldai 0x0                                 # line: 83           # column: 0
134	eq 0x1, v4                               # line: 83           # column: 0
135	jeqz label@59                            # line: 83           # column: 0
136	lda v3                                   # line: 83           # column: 0
137	asyncfunctionawaituncaught v0            # line: 83           # column: 0
138	suspendgenerator v0                      # line: 83           # column: 0
139	lda v0                                   # line: 83           # column: 0
140	resumegenerator                          # line: 83           # column: 0
141	sta v3                                   # line: 83           # column: 0
142	lda v0                                   # line: 83           # column: 0
143	getresumemode                            # line: 83           # column: 0
144	sta v4                                   # line: 83           # column: 0
145	lda v2                                   # line: 83           # column: 0
146	eq 0x2, v4                               # line: 83           # column: 0
147	jeqz label@53                            # line: 83           # column: 0
148	lda v3                                   # line: 83           # column: 0
149	throw                                    # line: 83           # column: 0
150	label@53:                                # line: 0           # column: 0
151	ldtrue                                   # line: 83           # column: 0
152	sta v2                                   # line: 83           # column: 0
153	lda v0                                   # line: 83           # column: 0
154	setgeneratorstate 0x4                    # line: 83           # column: 0
155	asyncgeneratorresolve v0, v3, v2         # line: 83           # column: 0
156	return                                   # line: 84           # column: 0
157	label@59:                                # line: 0           # column: 0
158	lda v2                                   # line: 83           # column: 0
159	eq 0x3, v4                               # line: 83           # column: 0
160	jeqz label@64                            # line: 83           # column: 0
161	lda v3                                   # line: 83           # column: 0
162	throw                                    # line: 83           # column: 0
163	label@64:                                # line: 0           # column: 0
164	ldundefined                              # line: 18446744073709551615           # column: 0
165	sta v2                                   # line: 18446744073709551615           # column: 0
166	ldtrue                                   # line: 18446744073709551615           # column: 0
167	sta v3                                   # line: 18446744073709551615           # column: 0
168	lda v0                                   # line: 18446744073709551615           # column: 0
169	setgeneratorstate 0x4                    # line: 18446744073709551615           # column: 0
170	asyncgeneratorresolve v0, v2, v3         # line: 18446744073709551615           # column: 0
171	return                                   # line: 84           # column: 0
172	label@72:                                # line: 0           # column: 0
173	sta v1                                   # line: 82           # column: 0
174	lda v0                                   # line: 82           # column: 0
175	setgeneratorstate 0x4                    # line: 82           # column: 0
176	lda v1                                   # line: 82           # column: 0
177	asyncgeneratorreject v0                  # line: 82           # column: 0
178	return                                   # line: 84           # column: 0
179.catchall :
180	try_begin_label : label@3
181	try_end_label : label@72
182	catch_begin_label : label@72
183	catch_end_label : label@72
184}
185
186.function_kind FunctionKind::SENDABLE_ASYNC_FUNCTION
187 _ESSlotNumberAnnotation
188 SlotNumber 0
189.language ECMAScript
190.function any .#*#asyncSendableFunction(any a0, any a1, any a2) {
191	nop                                      # line: 18446744073709551615           # column: 0
192	asyncfunctionenter                       # line: 18446744073709551615           # column: 0
193	sta v0                                   # line: 18446744073709551615           # column: 0
194	label@3:                                 # line: 0           # column: 0
195	ldundefined                              # line: 18446744073709551615           # column: 0
196	asyncfunctionresolve v0                  # line: 18446744073709551615           # column: 0
197	return                                   # line: 100           # column: 0
198	label@6:                                 # line: 0           # column: 0
199	sta v1                                   # line: 98           # column: 0
200	lda v1                                   # line: 98           # column: 0
201	asyncfunctionreject v0                   # line: 98           # column: 0
202	return                                   # line: 100           # column: 0
203.catchall :
204	try_begin_label : label@3
205	try_end_label : label@6
206	catch_begin_label : label@6
207	catch_end_label : label@6
208}
209
210.function_kind FunctionKind::FUNCTION
211 _ESSlotNumberAnnotation
212 SlotNumber 24
213.language ECMAScript
214.function any .#*#foo(any a0, any a1, any a2) {
215	nop                                      # line: 40           # column: 0
216	ldundefined                              # line: 40           # column: 0
217	sta v0                                   # line: 40           # column: 0
218	label@3:                                 # line: 0           # column: 0
219	ldai 0xb                                 # line: 40           # column: 0
220	mov v3, v0                               # line: 40           # column: 0
221	mov v1, v0                               # line: 40           # column: 0
222	trystglobalbyname 0x0, varA              # line: 41           # column: 0
223	ldai 0x16                                # line: 41           # column: 0
224	trystglobalbyname 0x1, x                 # line: 42           # column: 0
225	label@9:                                 # line: 0           # column: 0
226	ldai 0x1                                 # line: 42           # column: 0
227	trystglobalbyname 0x2, varA              # line: 44           # column: 0
228	label@11:                                # line: 0           # column: 0
229	jmp label@20                             # line: 44           # column: 0
230	label@12:                                # line: 0           # column: 0
231	lda.str inner catch                      # line: 46           # column: 0
232	trystglobalbyname 0x3, msg               # line: 46           # column: 0
233	tryldglobalbyname 0x4, print             # line: 47           # column: 0
234	sta v4                                   # line: 47           # column: 0
235	tryldglobalbyname 0x5, msg               # line: 47           # column: 0
236	sta v5                                   # line: 47           # column: 0
237	lda v4                                   # line: 47           # column: 0
238	callarg1 0x6, v5                         # line: 47           # column: 0
239	label@20:                                # line: 0           # column: 0
240	mov v3, v0                               # line: 47           # column: 0
241	mov v1, v0                               # line: 47           # column: 0
242	tryldglobalbyname 0x8, varA              # line: 49           # column: 0
243	sta v0                                   # line: 49           # column: 0
244	lda.str                                  # line: 49           # column: 0
245	stricteq 0x9, v0                         # line: 49           # column: 0
246	jeqz label@29                            # line: 49           # column: 0
247	lda.str null                             # line: 50           # column: 0
248	throw                                    # line: 50           # column: 0
249	label@29:                                # line: 0           # column: 0
250	tryldglobalbyname 0xa, x                 # line: 52           # column: 0
251	sta v0                                   # line: 52           # column: 0
252	ldai 0x64                                # line: 52           # column: 0
253	greater 0xb, v0                          # line: 52           # column: 0
254	jeqz label@36                            # line: 52           # column: 0
255	lda.str max                              # line: 53           # column: 0
256	throw                                    # line: 53           # column: 0
257	label@36:                                # line: 0           # column: 0
258	lda.str min                              # line: 55           # column: 0
259	throw                                    # line: 55           # column: 0
260	label@38:                                # line: 0           # column: 0
261	mov v1, v3                               # line: 55           # column: 0
262	lda.str outter catch                     # line: 59           # column: 0
263	trystglobalbyname 0xc, masg              # line: 59           # column: 0
264	tryldglobalbyname 0xd, print             # line: 60           # column: 0
265	sta v0                                   # line: 60           # column: 0
266	tryldglobalbyname 0xe, msg               # line: 60           # column: 0
267	sta v4                                   # line: 60           # column: 0
268	lda v0                                   # line: 60           # column: 0
269	callarg1 0xf, v4                         # line: 60           # column: 0
270	label@47:                                # line: 0           # column: 0
271	ldhole                                   # line: 40           # column: 0
272	sta v0                                   # line: 40           # column: 0
273	mov v1, v3                               # line: 40           # column: 0
274	mov v2, v0                               # line: 40           # column: 0
275	jmp label@53                             # line: 40           # column: 0
276	label@52:                                # line: 0           # column: 0
277	sta v2                                   # line: 40           # column: 0
278	label@53:                                # line: 0           # column: 0
279	ldundefined                              # line: 40           # column: 0
280	eq 0x11, v1                              # line: 40           # column: 0
281	jeqz label@64                            # line: 40           # column: 0
282	lda.str error                            # line: 63           # column: 0
283	trystglobalbyname 0x12, msg              # line: 63           # column: 0
284	tryldglobalbyname 0x13, print            # line: 64           # column: 0
285	sta v0                                   # line: 64           # column: 0
286	tryldglobalbyname 0x14, msg              # line: 64           # column: 0
287	sta v1                                   # line: 64           # column: 0
288	lda v0                                   # line: 64           # column: 0
289	callarg1 0x15, v1                        # line: 64           # column: 0
290	label@64:                                # line: 0           # column: 0
291	ldhole                                   # line: 40           # column: 0
292	sta v0                                   # line: 40           # column: 0
293	lda v2                                   # line: 40           # column: 0
294	noteq 0x17, v0                           # line: 40           # column: 0
295	jeqz label@71                            # line: 40           # column: 0
296	lda v2                                   # line: 40           # column: 0
297	throw                                    # line: 40           # column: 0
298	label@71:                                # line: 0           # column: 0
299	returnundefined                          # line: 66           # column: 0
300.catchall :
301	try_begin_label : label@9
302	try_end_label : label@11
303	catch_begin_label : label@12
304	catch_end_label : label@12
305.catchall :
306	try_begin_label : label@3
307	try_end_label : label@38
308	catch_begin_label : label@38
309	catch_end_label : label@38
310.catchall :
311	try_begin_label : label@3
312	try_end_label : label@47
313	catch_begin_label : label@52
314	catch_end_label : label@52
315}
316
317.function_kind FunctionKind::GENERATOR_FUNCTION
318 _ESSlotNumberAnnotation
319 SlotNumber 4
320.language ECMAScript
321.function any .#*#generateFunc(any a0, any a1, any a2) {
322	nop                                      # line: 18446744073709551615           # column: 0
323	label@1:                                 # line: 0           # column: 0
324	ldai 0x0                                 # line: 18446744073709551615           # column: 0
325	sta v1                                   # line: 18446744073709551615           # column: 0
326	creategeneratorobj a0                    # line: 18446744073709551615           # column: 0
327	sta v2                                   # line: 18446744073709551615           # column: 0
328	ldundefined                              # line: 18446744073709551615           # column: 0
329	suspendgenerator v2                      # line: 18446744073709551615           # column: 0
330	lda v2                                   # line: 18446744073709551615           # column: 0
331	resumegenerator                          # line: 18446744073709551615           # column: 0
332	sta v3                                   # line: 18446744073709551615           # column: 0
333	lda v2                                   # line: 18446744073709551615           # column: 0
334	getresumemode                            # line: 18446744073709551615           # column: 0
335	sta v4                                   # line: 18446744073709551615           # column: 0
336	lda v1                                   # line: 18446744073709551615           # column: 0
337	eq 0x0, v4                               # line: 18446744073709551615           # column: 0
338	jeqz label@18                            # line: 18446744073709551615           # column: 0
339	lda v3                                   # line: 18446744073709551615           # column: 0
340	return                                   # line: 18446744073709551615           # column: 0
341	label@18:                                # line: 0           # column: 0
342	ldai 0x1                                 # line: 18446744073709551615           # column: 0
343	sta v5                                   # line: 18446744073709551615           # column: 0
344	lda v5                                   # line: 18446744073709551615           # column: 0
345	eq 0x1, v4                               # line: 18446744073709551615           # column: 0
346	jeqz label@25                            # line: 18446744073709551615           # column: 0
347	lda v3                                   # line: 18446744073709551615           # column: 0
348	throw                                    # line: 18446744073709551615           # column: 0
349	label@25:                                # line: 0           # column: 0
350	lda.str hello                            # line: 79           # column: 0
351	sta v3                                   # line: 79           # column: 0
352	ldfalse                                  # line: 79           # column: 0
353	sta v4                                   # line: 79           # column: 0
354	createiterresultobj v3, v4               # line: 79           # column: 0
355	suspendgenerator v2                      # line: 79           # column: 0
356	lda v2                                   # line: 79           # column: 0
357	resumegenerator                          # line: 79           # column: 0
358	sta v3                                   # line: 79           # column: 0
359	lda v2                                   # line: 79           # column: 0
360	getresumemode                            # line: 79           # column: 0
361	sta v2                                   # line: 79           # column: 0
362	lda v1                                   # line: 79           # column: 0
363	eq 0x2, v2                               # line: 79           # column: 0
364	jeqz label@42                            # line: 79           # column: 0
365	lda v3                                   # line: 80           # column: 0
366	return                                   # line: 80           # column: 0
367	label@42:                                # line: 0           # column: 0
368	lda v5                                   # line: 79           # column: 0
369	eq 0x3, v2                               # line: 79           # column: 0
370	jeqz label@47                            # line: 79           # column: 0
371	lda v3                                   # line: 79           # column: 0
372	throw                                    # line: 79           # column: 0
373	label@47:                                # line: 0           # column: 0
374	ldundefined                              # line: 18446744073709551615           # column: 0
375	return                                   # line: 80           # column: 0
376	label@49:                                # line: 0           # column: 0
377	sta v0                                   # line: 78           # column: 0
378	lda v0                                   # line: 78           # column: 0
379	throw                                    # line: 78           # column: 0
380.catchall :
381	try_begin_label : label@1
382	try_end_label : label@49
383	catch_begin_label : label@49
384	catch_end_label : label@49
385}
386
387.function_kind FunctionKind::FUNCTION
388 _ESSlotNumberAnnotation
389 SlotNumber 0
390.language ECMAScript
391.function any .#*#goo(any a0, any a1, any a2) {
392	returnundefined                          # line: 68           # column: 0
393}
394
395.function_kind FunctionKind::FUNCTION
396 _ESSlotNumberAnnotation
397 SlotNumber 2
398.language ECMAScript
399.function any .#*#hoo(any a0, any a1, any a2) {
400	fldai 1.230000e+00                       # line: 71           # column: 0
401	trystglobalbyname 0x0, varA              # line: 71           # column: 0
402	createobjectwithbuffer 0x1, _GLOBAL_1744 # line: 72           # column: 0
403	returnundefined                          # line: 73           # column: 0
404}
405
406.function_kind FunctionKind::SENDABLE_FUNCTION
407 _ESSlotNumberAnnotation
408 SlotNumber 0
409.language ECMAScript
410.function any .#*#sendableFunction(any a0, any a1, any a2) {
411	returnundefined                          # line: 96           # column: 0
412}
413
414.function_kind FunctionKind::ASYNC_FUNCTION
415 _ESSlotNumberAnnotation
416 SlotNumber 0
417.language ECMAScript
418.function any .#*@3*#method(any a0, any a1, any a2) {
419	nop                                      # line: 18446744073709551615           # column: 0
420	createasyncgeneratorobj a0               # line: 18446744073709551615           # column: 0
421	sta v0                                   # line: 18446744073709551615           # column: 0
422	label@3:                                 # line: 0           # column: 0
423	ldundefined                              # line: 18446744073709551615           # column: 0
424	suspendgenerator v0                      # line: 18446744073709551615           # column: 0
425	lda v0                                   # line: 18446744073709551615           # column: 0
426	resumegenerator                          # line: 18446744073709551615           # column: 0
427	lda v0                                   # line: 18446744073709551615           # column: 0
428	getresumemode                            # line: 18446744073709551615           # column: 0
429	ldundefined                              # line: 18446744073709551615           # column: 0
430	sta v2                                   # line: 18446744073709551615           # column: 0
431	ldtrue                                   # line: 18446744073709551615           # column: 0
432	sta v3                                   # line: 18446744073709551615           # column: 0
433	lda v0                                   # line: 18446744073709551615           # column: 0
434	setgeneratorstate 0x4                    # line: 18446744073709551615           # column: 0
435	asyncgeneratorresolve v0, v2, v3         # line: 18446744073709551615           # column: 0
436	return                                   # line: 72           # column: 0
437	label@17:                                # line: 0           # column: 0
438	sta v1                                   # line: 72           # column: 0
439	lda v0                                   # line: 72           # column: 0
440	setgeneratorstate 0x4                    # line: 72           # column: 0
441	lda v1                                   # line: 72           # column: 0
442	asyncgeneratorreject v0                  # line: 72           # column: 0
443	return                                   # line: 72           # column: 0
444.catchall :
445	try_begin_label : label@3
446	try_end_label : label@17
447	catch_begin_label : label@17
448	catch_end_label : label@17
449}
450
451.function_kind FunctionKind::FUNCTION
452 _ESExpectedPropertyCountAnnotation
453 ExpectedPropertyCount 1
454 _ESSlotNumberAnnotation
455 SlotNumber 2
456.language ECMAScript
457.function any .#~@0=#HelloWorld(any a0, any a1, any a2) {
458	lda.str HelloWorld                       # line: 22           # column: 0
459	stobjbyname 0x0, str, a2                 # line: 22           # column: 0
460	lda a2                                   # line: 22           # column: 0
461	return                                   # line: 22           # column: 0
462}
463
464.function_kind FunctionKind::FUNCTION
465 _ESSlotNumberAnnotation
466 SlotNumber 0
467.language ECMAScript
468.function any .#~@1=#Lit(any a0, any a1, any a2) {
469	lda a2                                   # line: 0           # column: 0
470	return                                   # line: 0           # column: 0
471}
472
473.function_kind FunctionKind::NONE
474 _ESSlotNumberAnnotation
475 SlotNumber 2
476.language ECMAScript
477.function any .#~@1>#lit(any a0, any a1, any a2) {
478	nop                                      # line: 18446744073709551615           # column: 0
479	label@1:                                 # line: 0           # column: 0
480	creategeneratorobj a0                    # line: 18446744073709551615           # column: 0
481	sta v1                                   # line: 18446744073709551615           # column: 0
482	ldundefined                              # line: 18446744073709551615           # column: 0
483	suspendgenerator v1                      # line: 18446744073709551615           # column: 0
484	lda v1                                   # line: 18446744073709551615           # column: 0
485	resumegenerator                          # line: 18446744073709551615           # column: 0
486	sta v2                                   # line: 18446744073709551615           # column: 0
487	lda v1                                   # line: 18446744073709551615           # column: 0
488	getresumemode                            # line: 18446744073709551615           # column: 0
489	sta v1                                   # line: 18446744073709551615           # column: 0
490	ldai 0x0                                 # line: 18446744073709551615           # column: 0
491	eq 0x0, v1                               # line: 18446744073709551615           # column: 0
492	jeqz label@16                            # line: 18446744073709551615           # column: 0
493	lda v2                                   # line: 18446744073709551615           # column: 0
494	return                                   # line: 18446744073709551615           # column: 0
495	label@16:                                # line: 0           # column: 0
496	ldai 0x1                                 # line: 18446744073709551615           # column: 0
497	eq 0x1, v1                               # line: 18446744073709551615           # column: 0
498	jeqz label@21                            # line: 18446744073709551615           # column: 0
499	lda v2                                   # line: 18446744073709551615           # column: 0
500	throw                                    # line: 18446744073709551615           # column: 0
501	label@21:                                # line: 0           # column: 0
502	ldundefined                              # line: 18446744073709551615           # column: 0
503	return                                   # line: 26           # column: 0
504	label@23:                                # line: 0           # column: 0
505	sta v0                                   # line: 26           # column: 0
506	lda v0                                   # line: 26           # column: 0
507	throw                                    # line: 26           # column: 0
508.catchall :
509	try_begin_label : label@1
510	try_end_label : label@23
511	catch_begin_label : label@23
512	catch_end_label : label@23
513}
514
515.function_kind FunctionKind::NONE
516 _ESExpectedPropertyCountAnnotation
517 ExpectedPropertyCount 1
518 _ESSlotNumberAnnotation
519 SlotNumber 2
520.language ECMAScript
521.function any .#~@2=#NestedLiteralArray(any a0, any a1, any a2) {
522	ldai 0x1                                 # line: 30           # column: 0
523	stobjbyname 0x0, num, a2                 # line: 30           # column: 0
524	lda a2                                   # line: 34           # column: 0
525	return                                   # line: 34           # column: 0
526}
527
528.function_kind FunctionKind::NONE
529 _ESSlotNumberAnnotation
530 SlotNumber 0
531.language ECMAScript
532.function any .#~@2>#NestedLiteralArray(any a0, any a1, any a2) {
533	returnundefined                          # line: 31           # column: 0
534}
535
536.function_kind FunctionKind::FUNCTION
537 _ESSlotNumberAnnotation
538 SlotNumber 30
539.language ECMAScript
540.function any .func_main_0(any a0, any a1, any a2) {
541	definefunc 0x0, .#*#asyncGenerateFunc, 0x0 # line: 18446744073709551615           # column: 0
542	definefunc 0x1, .#*#asyncSendableFunction, 0x0 # line: 18446744073709551615           # column: 0
543	definefunc 0x2, .#*#foo, 0x0             # line: 18446744073709551615           # column: 0
544	sta v0                                   # line: 18446744073709551615           # column: 0
545	definefunc 0x3, .#*#generateFunc, 0x0    # line: 18446744073709551615           # column: 0
546	definefunc 0x4, .#*#goo, 0x0             # line: 18446744073709551615           # column: 0
547	sta v1                                   # line: 18446744073709551615           # column: 0
548	definefunc 0x5, .#*#hoo, 0x0             # line: 18446744073709551615           # column: 0
549	sta v2                                   # line: 18446744073709551615           # column: 0
550	definefunc 0x6, .#*#sendableFunction, 0x0 # line: 18446744073709551615           # column: 0
551	getmodulenamespace 0x1                   # line: 18446744073709551615           # column: 0
552	ldundefined                              # line: 17           # column: 0
553	stmodulevar 0x0                          # line: 17           # column: 0
554	ldhole                                   # line: 21           # column: 0
555	sta v3                                   # line: 21           # column: 0
556	defineclasswithbuffer 0x7, .#~@0=#HelloWorld, _GLOBAL_1761, 0x0, v3 # line: 21           # column: 0
557	ldobjbyname 0x8, prototype               # line: 21           # column: 0
558	ldhole                                   # line: 25           # column: 0
559	sta v3                                   # line: 25           # column: 0
560	defineclasswithbuffer 0xa, .#~@1=#Lit, _GLOBAL_1770, 0x0, v3 # line: 25           # column: 0
561	ldobjbyname 0xb, prototype               # line: 25           # column: 0
562	ldhole                                   # line: 29           # column: 0
563	sta v3                                   # line: 29           # column: 0
564	callruntime.definesendableclass 0xd, .#~@2=#NestedLiteralArray, _GLOBAL_1811, 0x0, v3 # line: 29           # column: 0
565	lda.str                                  # line: 37           # column: 0
566	trystglobalbyname 0xe, string            # line: 37           # column: 0
567	definefunc 0xf, .#*#add, 0x2             # line: 75           # column: 0
568	sta v3                                   # line: 75           # column: 0
569	ldai 0x1                                 # line: 75           # column: 0
570	sta v4                                   # line: 75           # column: 0
571	ldai 0x2                                 # line: 75           # column: 0
572	sta v5                                   # line: 75           # column: 0
573	lda v3                                   # line: 76           # column: 0
574	callargs2 0x10, v4, v5                   # line: 76           # column: 0
575	definefunc 0x12, .#*#asyncArrowFunc, 0x0 # line: 86           # column: 0
576	lda v0                                   # line: 88           # column: 0
577	callarg0 0x13                            # line: 88           # column: 0
578	tryldglobalbyname 0x15, print            # line: 90           # column: 0
579	sta v0                                   # line: 90           # column: 0
580	lda v1                                   # line: 90           # column: 0
581	ldobjbyname 0x16, toString               # line: 90           # column: 0
582	callthis0 0x18, v1                       # line: 90           # column: 0
583	sta v1                                   # line: 90           # column: 0
584	lda v0                                   # line: 90           # column: 0
585	callarg1 0x1a, v1                        # line: 90           # column: 0
586	lda v2                                   # line: 92           # column: 0
587	callarg0 0x1c                            # line: 92           # column: 0
588	returnundefined                          # line: 18446744073709551615           # column: 0
589}
590
591# ====================
592# STRING
593
594.#*#add
595.#*#asyncArrowFunc
596.#*#asyncGenerateFunc
597.#*#asyncSendableFunction
598.#*#foo
599.#*#generateFunc
600.#*#goo
601.#*#hoo
602.#*#sendableFunction
603.#~@0=#HelloWorld
604.#~@1=#Lit
605.#~@2=#NestedLiteralArray
606HelloWorld
607error
608hello
609inner catch
610masg
611max
612min
613msg
614null
615num
616outter catch
617print
618prototype
619str
620string
621toString
622varA
623x
624