1.language ECMAScript
2
3slotNum = 0x1a
4.function any .#*#testComplexThrow(any a0, any a1, any a2) {
5	nop
6label_21: 
7	ldai 0x8
8	sta v0
9	ldai 0x9
10	sta v1
11label_12: 
12label_14: 
13	ldai 0x1
14	sta v4
15	mov v2, v4
16	ldundefined
17	sta v4
18label_10: 
19label_8: 
20label_16: 
21	ldai 0x2
22	sta v8
23	mov v5, v8
24	mov v2, v8
25	tryldglobalbyname 0x0, print
26	callarg1 0x1, v8
27	lda v8
28	throw
29label_9: 
30end_label_9: 
31label_23: 
32	sta v7
33label_18: 
34	ldai 0x4
35	sta v9
36	mov v5, v8
37	mov v2, v8
38	tryldglobalbyname 0x3, print
39	callarg1 0x4, v7
40	tryldglobalbyname 0x6, print
41	callarg1 0x7, v8
42	mov v5, v9
43	mov v2, v9
44	lda v9
45	throw
46label_11: 
47end_label_11: 
48label_24: 
49	sta v6
50label_2: 
51	mov v2, v5
52	ldundefined
53	eq 0x9, v4
54	jeqz label_3
55label_4: 
56	ldai 0x6
57	sta v0
58	tryldglobalbyname 0xa, print
59	callarg1 0xb, v5
60	mov v2, v0
61	lda v0
62	throw
63label_3: 
64	ldhole
65	sta v4
66	lda v6
67	noteq 0xd, v4
68	jeqz label_5
69label_6: 
70	lda v6
71	throw
72label_5: 
73	tryldglobalbyname 0xe, print
74	callarg1 0xf, v5
75label_13: 
76end_label_13: 
77	jmp label_7
78label_25: 
79	sta v3
80label_20: 
81	tryldglobalbyname 0x11, print
82	callarg1 0x12, v3
83	tryldglobalbyname 0x14, print
84	callarg1 0x15, v2
85	mov v0, v1
86label_7: 
87	tryldglobalbyname 0x17, print
88	callarg1 0x18, v0
89	ldundefined
90	returnundefined
91label_22: 
92}
93
94.catchall label_8, end_label_9, label_23
95
96.catchall label_10, end_label_11, label_24
97
98.catchall label_12, end_label_13, label_25
99
100slotNum = 0x6
101.function any .#*#testSimpleThrow(any a0, any a1, any a2) {
102label_1: 
103label_0: 
104	tryldglobalbyname 0x0, print
105	sta v0
106	ldai 0x1
107	sta v1
108	lda v0
109	callarg1 0x1, v1
110	lda v1
111	throw
112label_2: 
113}
114
115slotNum = 0x22
116.function any .#*#testThrowInTry(any a0, any a1, any a2) {
117	nop
118label_35: 
119label_18: 
120label_24: 
121	ldai 0x2
122	sta v1
123	lda v1
124	throw
125label_19: 
126end_label_19: 
127label_37: 
128	sta v0
129label_30: 
130	tryldglobalbyname 0x0, print
131	callarg1 0x1, v0
132	tryldglobalbyname 0x3, print
133	callarg1 0x4, v1
134	tryldglobalbyname 0x6, print
135	sta v0
136	ldai 0x4
137	sta v1
138	lda v0
139	callarg1 0x7, v1
140	ldundefined
141	sta v0
142label_20: 
143label_14: 
144label_26: 
145	ldai 0x5
146	sta v3
147	lda v3
148	throw
149label_15: 
150end_label_15: 
151label_38: 
152	sta v2
153label_31: 
154	lda v2
155	throw
156label_21: 
157end_label_21: 
158label_39: 
159	sta v1
160label_3: 
161	ldai 0x7
162	sta v2
163	ldundefined
164	eq 0x9, v0
165	jeqz label_4
166label_5: 
167	tryldglobalbyname 0xa, print
168	callarg1 0xb, v3
169	mov v3, v2
170label_4: 
171	ldhole
172	sta v0
173	lda v1
174	noteq 0xd, v0
175	jeqz label_6
176label_7: 
177	lda v1
178	throw
179label_6: 
180	ldai 0xa
181	sta v0
182	tryldglobalbyname 0xe, print
183	callarg1 0xf, v3
184	ldundefined
185	sta v1
186label_22: 
187label_16: 
188label_28: 
189	ldai 0x8
190	sta v4
191	lda v4
192	throw
193label_17: 
194end_label_17: 
195label_40: 
196	sta v3
197label_33: 
198	tryldglobalbyname 0x11, print
199	callarg1 0x12, v3
200	tryldglobalbyname 0x14, print
201	callarg1 0x15, v4
202label_23: 
203end_label_23: 
204label_8: 
205	ldhole
206	sta v3
207	mov v2, v3
208	jmp label_9
209label_41: 
210	sta v2
211	mov v0, v4
212label_9: 
213	ldai 0xb
214	sta v3
215	ldundefined
216	eq 0x17, v1
217	jeqz label_10
218label_11: 
219	tryldglobalbyname 0x18, print
220	callarg1 0x19, v0
221	mov v0, v3
222label_10: 
223	ldhole
224	sta v1
225	lda v2
226	noteq 0x1b, v1
227	jeqz label_12
228label_13: 
229	lda v2
230	throw
231label_12: 
232	tryldglobalbyname 0x1c, print
233	callarg1 0x1d, v0
234	tryldglobalbyname 0x1f, print
235	sta v0
236	ldai 0xc
237	sta v1
238	lda v0
239	callarg1 0x20, v1
240	ldundefined
241	returnundefined
242label_36: 
243}
244
245.catchall label_14, end_label_15, label_38
246
247.catchall label_16, end_label_17, label_40
248
249.catchall label_18, end_label_19, label_37
250
251.catchall label_20, end_label_21, label_39
252
253.catchall label_22, end_label_23, label_41
254
255slotNum = 0x1f
256.function any .#*#testTryCatchFinally(any a0, any a1, any a2) {
257	nop
258label_35: 
259	ldai 0x2
260	sta v0
261	ldai 0x3
262	sta v1
263label_18: 
264label_19: 
265end_label_19: 
266	jmp label_1
267label_37: 
268	sta v3
269label_30: 
270	tryldglobalbyname 0x0, print
271	callarg1 0x1, v3
272	tryldglobalbyname 0x3, print
273	callarg1 0x4, v2
274	mov v0, v1
275label_1: 
276	ldai 0x4
277	sta v1
278	tryldglobalbyname 0x6, print
279	callarg1 0x7, v0
280	ldundefined
281	sta v0
282label_20: 
283label_14: 
284label_15: 
285end_label_15: 
286	jmp label_2
287label_38: 
288	sta v7
289label_31: 
290	mov v2, v5
291	mov v3, v6
292	lda v7
293	throw
294label_21: 
295end_label_21: 
296label_2: 
297	ldhole
298	sta v5
299	mov v4, v5
300	jmp label_3
301label_39: 
302	sta v4
303	mov v1, v2
304	mov v0, v3
305label_3: 
306	ldai 0x5
307	sta v2
308	ldundefined
309	eq 0x9, v0
310	jeqz label_4
311label_5: 
312	tryldglobalbyname 0xa, print
313	callarg1 0xb, v1
314	mov v1, v2
315label_4: 
316	ldhole
317	sta v0
318	lda v4
319	noteq 0xd, v0
320	jeqz label_6
321label_7: 
322	lda v4
323	throw
324label_6: 
325	ldai 0x7
326	sta v0
327	ldai 0x6
328	sta v2
329	tryldglobalbyname 0xe, print
330	callarg1 0xf, v1
331	ldundefined
332	sta v1
333label_22: 
334label_16: 
335label_17: 
336end_label_17: 
337	jmp label_42
338label_40: 
339	sta v8
340label_33: 
341	mov v3, v6
342	mov v4, v7
343	tryldglobalbyname 0x11, print
344	mov v3, v6
345	mov v4, v7
346	callarg1 0x12, v8
347	mov v3, v6
348	mov v4, v7
349	tryldglobalbyname 0x14, print
350	mov v3, v6
351	mov v4, v7
352	callarg1 0x15, v6
353label_23: 
354end_label_23: 
355label_43: 
356	mov v1, v7
357	jmp label_8
358label_42: 
359	mov v0, v2
360label_8: 
361	ldhole
362	sta v2
363	mov v5, v2
364	jmp label_9
365label_41: 
366	sta v5
367	mov v0, v3
368	mov v1, v4
369label_9: 
370	ldai 0x8
371	sta v2
372	ldundefined
373	eq 0x17, v1
374	jeqz label_10
375label_11: 
376	tryldglobalbyname 0x18, print
377	callarg1 0x19, v0
378	mov v0, v2
379label_10: 
380	ldhole
381	sta v1
382	lda v5
383	noteq 0x1b, v1
384	jeqz label_12
385label_13: 
386	lda v5
387	throw
388label_12: 
389	tryldglobalbyname 0x1c, print
390	callarg1 0x1d, v0
391	ldundefined
392	returnundefined
393label_36: 
394}
395
396.catchall label_14, end_label_15, label_38
397
398.catchall label_16, end_label_17, label_40
399
400.catchall label_18, end_label_19, label_37
401
402.catchall label_20, end_label_21, label_39
403
404.catchall label_22, end_label_23, label_41
405
406slotNum = 0x23
407.function any .#*#testTryCatchFinallyWithReturn(any a0, any a1, any a2) {
408	nop
409label_15: 
410label_0: 
411	ldai 0x6
412	sta v0
413	ldundefined
414	sta v1
415label_9: 
416label_7: 
417label_11: 
418	ldai 0x3
419	sta v6
420	ldai 0x2
421	sta v7
422	mov v4, v7
423	mov v2, v7
424	tryldglobalbyname 0x0, print
425	callarg1 0x1, v7
426	mov v4, v6
427	mov v2, v6
428	lda v6
429	throw
430label_8: 
431end_label_8: 
432label_17: 
433	sta v5
434label_13: 
435	mov v2, v4
436	tryldglobalbyname 0xc, print
437	callarg1 0xd, v5
438	tryldglobalbyname 0xf, print
439	callarg1 0x10, v4
440	ldundefined
441	tryldglobalbyname 0x12, print
442	callarg1 0x13, v4
443	mov v2, v0
444	tryldglobalbyname 0x15, print
445	callarg1 0x16, v0
446	lda v0
447	return
448label_10: 
449end_label_10: 
450label_18: 
451	sta v3
452label_2: 
453	ldundefined
454	eq 0x18, v1
455	jeqz label_3
456label_4: 
457	tryldglobalbyname 0x19, print
458	callarg1 0x1a, v2
459	tryldglobalbyname 0x1c, print
460	callarg1 0x1d, v0
461	lda v0
462	return
463label_3: 
464	ldhole
465	sta v0
466	lda v3
467	noteq 0x1f, v0
468	jeqz label_5
469label_6: 
470	lda v3
471	throw
472label_5: 
473	tryldglobalbyname 0x20, print
474	sta v0
475	ldai 0x7
476	sta v1
477	lda v0
478	callarg1 0x21, v1
479	lda v1
480	return
481label_16: 
482}
483
484.catchall label_7, end_label_8, label_17
485
486.catchall label_9, end_label_10, label_18
487
488slotNum = 0x1e
489.function any .func_main_0(any a0, any a1, any a2) {
490	nop
491label_22: 
492label_0: 
493	definefunc 0x0, .#*#testComplexThrow, 0x0
494	sta v0
495	definefunc 0x1, .#*#testSimpleThrow, 0x0
496	sta v1
497	definefunc 0x2, .#*#testThrowInTry, 0x0
498	sta v2
499	definefunc 0x3, .#*#testTryCatchFinally, 0x0
500	sta v3
501	definefunc 0x4, .#*#testTryCatchFinallyWithReturn, 0x0
502	sta v4
503	lda v3
504	callarg0 0x5
505label_5: 
506label_13: 
507	lda v1
508	callarg0 0x7
509label_6: 
510end_label_6: 
511	jmp label_7
512label_24: 
513	sta v3
514label_18: 
515	tryldglobalbyname 0x9, print
516	callarg1 0xa, v3
517label_7: 
518label_1: 
519	lda v2
520	callarg0 0xc
521label_8: 
522end_label_8: 
523	jmp label_9
524label_25: 
525	sta v1
526label_19: 
527	tryldglobalbyname 0xe, print
528	callarg1 0xf, v1
529label_9: 
530label_2: 
531	lda v0
532	callarg0 0x11
533label_10: 
534end_label_10: 
535	jmp label_11
536label_26: 
537	sta v1
538label_20: 
539	tryldglobalbyname 0x13, print
540	callarg1 0x14, v1
541label_11: 
542label_3: 
543	tryldglobalbyname 0x16, print
544	sta v1
545	lda v4
546	callarg0 0x17
547	sta v2
548	lda v1
549	callarg1 0x19, v2
550label_12: 
551end_label_12: 
552	jmp label_4
553label_27: 
554	sta v0
555label_21: 
556	tryldglobalbyname 0x1b, print
557	callarg1 0x1c, v0
558label_4: 
559	ldundefined
560	returnundefined
561label_23: 
562}
563
564.catchall label_5, end_label_6, label_24
565
566.catchall label_7, end_label_8, label_25
567
568.catchall label_9, end_label_10, label_26
569
570.catchall label_11, end_label_12, label_27
571
572
573