1.language ECMAScript
2
3slotNum = 0x1e
4.function any .#*#testNestedTryBlock(any a0, any a1, any a2) {
5	nop
6label_45: 
7label_0: 
8	ldundefined
9	sta v0
10label_30: 
11label_26: 
12label_20: 
13label_32: 
14	ldai 0x1
15	sta v5
16	mov v1, v5
17	lda v5
18	throw
19label_21: 
20end_label_21: 
21label_47: 
22	sta v4
23label_38: 
24	mov v1, v5
25	tryldglobalbyname 0x0, print
26	callarg1 0x1, v4
27	tryldglobalbyname 0x3, print
28	callarg1 0x4, v5
29	lda v5
30	throw
31label_27: 
32end_label_27: 
33label_48: 
34	sta v3
35label_39: 
36	mov v1, v5
37	tryldglobalbyname 0x6, print
38	callarg1 0x7, v3
39	ldundefined
40	sta v3
41label_22: 
42label_18: 
43label_34: 
44	ldai 0x3
45	sta v6
46	mov v1, v6
47	lda v6
48	throw
49label_19: 
50end_label_19: 
51label_49: 
52	sta v5
53label_40: 
54	mov v1, v6
55	lda v5
56	throw
57label_23: 
58end_label_23: 
59label_50: 
60	sta v4
61label_4: 
62	ldai 0x5
63	sta v5
64	mov v1, v6
65	ldundefined
66	eq 0x9, v3
67	jeqz label_54
68label_6: 
69	tryldglobalbyname 0xa, print
70	callarg1 0xb, v6
71	mov v3, v5
72	jmp label_5
73label_54: 
74	mov v3, v6
75label_5: 
76	mov v1, v3
77	ldhole
78	sta v5
79	lda v4
80	noteq 0xd, v5
81	jeqz label_2
82label_7: 
83	lda v4
84	throw
85label_31: 
86end_label_31: 
87label_2: 
88	ldhole
89	sta v4
90	mov v1, v3
91	mov v2, v4
92	jmp label_8
93label_51: 
94	sta v2
95label_8: 
96	ldundefined
97	eq 0xe, v0
98	jeqz label_9
99label_10: 
100	tryldglobalbyname 0xf, print
101	callarg1 0x10, v1
102	ldundefined
103	sta v0
104label_28: 
105label_24: 
106label_36: 
107	ldai 0x6
108	sta v5
109	mov v1, v5
110	lda v5
111	throw
112label_25: 
113end_label_25: 
114label_52: 
115	sta v4
116label_43: 
117	ldai 0x8
118	sta v6
119	mov v1, v5
120	tryldglobalbyname 0x12, print
121	callarg1 0x13, v4
122	tryldglobalbyname 0x15, print
123	callarg1 0x16, v5
124	mov v1, v6
125	lda v6
126	throw
127label_29: 
128end_label_29: 
129label_53: 
130	sta v3
131label_12: 
132	ldundefined
133	eq 0x18, v0
134	jeqz label_13
135label_14: 
136	tryldglobalbyname 0x19, print
137	callarg1 0x1a, v1
138label_13: 
139	ldhole
140	sta v0
141	lda v3
142	noteq 0x1c, v0
143	jeqz label_9
144label_15: 
145	lda v3
146	throw
147label_9: 
148	ldhole
149	sta v0
150	lda v2
151	noteq 0x1d, v0
152	jeqz label_16
153label_17: 
154	lda v2
155	throw
156label_16: 
157	ldundefined
158	returnundefined
159label_46: 
160}
161
162.catchall label_18, end_label_19, label_49
163
164.catchall label_20, end_label_21, label_47
165
166.catchall label_22, end_label_23, label_50
167
168.catchall label_24, end_label_25, label_52
169
170.catchall label_26, end_label_27, label_48
171
172.catchall label_28, end_label_29, label_53
173
174.catchall label_30, end_label_31, label_51
175
176slotNum = 0x54
177.function any .#*#testTryBlockWithLoop(any a0, any a1, any a2) {
178	nop
179label_71: 
180label_0: 
181	ldai 0x8
182	sta v0
183	ldai 0x7
184	sta v1
185	ldai 0x5
186	sta v2
187	ldai 0x6
188	sta v3
189	ldai 0x4
190	sta v4
191	ldai 0x2
192	sta v5
193	ldai 0x3
194	sta v6
195	ldai 0xa
196	sta v7
197	ldai 0x1
198	sta v8
199	ldai 0x0
200	sta v9
201	ldundefined
202	sta v10
203	mov v11, v8
204	mov v12, v9
205label_59: 
206label_57: 
207label_7: 
208	mov v16, v10
209	mov v17, v11
210	mov v13, v10
211	mov v14, v11
212	lda v7
213	less 0x0, v9
214	jeqz label_82
215label_2: 
216	lda v8
217	add2 0x1, v9
218	sta v9
219	ldundefined
220	sta v19
221label_55: 
222label_53: 
223label_12: 
224	mov v26, v19
225	mov v27, v10
226	mov v28, v12
227	mov v29, v9
228	mov v30, v11
229	mov v20, v19
230	mov v21, v10
231	mov v22, v12
232	mov v23, v9
233	mov v24, v11
234	mov v16, v10
235	mov v17, v11
236	mov v13, v10
237	mov v14, v11
238	lda v7
239	less 0x2, v12
240	jeqz label_33
241label_4: 
242	lda v8
243	add2 0x3, v12
244	sta v12
245	mov v28, v12
246	mov v22, v12
247	ldundefined
248	sta v32
249label_51: 
250label_49: 
251label_61: 
252	mov v40, v32
253	mov v41, v19
254	mov v42, v10
255	mov v43, v12
256	mov v44, v9
257	mov v45, v11
258	mov v33, v32
259	mov v34, v19
260	mov v35, v10
261	mov v36, v12
262	mov v37, v9
263	mov v38, v11
264	ldundefined
265	sta v47
266label_47: 
267label_45: 
268label_62: 
269	mov v50, v11
270	mov v48, v11
271	lda v6
272	stricteq 0x4, v9
273	jeqz label_5
274label_6: 
275	tryldglobalbyname 0x5, print
276	callarg1 0x6, v11
277	mov v50, v5
278	mov v48, v5
279	mov v45, v5
280	mov v38, v5
281	mov v30, v5
282	mov v24, v5
283	mov v17, v5
284	mov v14, v5
285	tryldglobalbyname 0x8, print
286	callarg1 0x9, v5
287	mov v50, v4
288	mov v48, v4
289	mov v45, v4
290	mov v38, v4
291	mov v30, v4
292	mov v24, v4
293	mov v17, v4
294	mov v14, v4
295	tryldglobalbyname 0xb, print
296	callarg1 0xc, v4
297	mov v11, v3
298	jmp label_59
299label_5: 
300	lda v2
301	stricteq 0xe, v9
302	jeqz label_8
303label_9: 
304	tryldglobalbyname 0xf, print
305	callarg1 0x10, v11
306	mov v50, v5
307	mov v48, v5
308	mov v45, v5
309	mov v38, v5
310	mov v30, v5
311	mov v24, v5
312	mov v17, v5
313	mov v14, v5
314	tryldglobalbyname 0x12, print
315	callarg1 0x13, v5
316	mov v50, v4
317	mov v48, v4
318	mov v45, v4
319	mov v38, v4
320	mov v30, v4
321	mov v24, v4
322	mov v17, v4
323	mov v14, v4
324	tryldglobalbyname 0x15, print
325	callarg1 0x16, v4
326	jmp label_39
327label_8: 
328	lda v6
329	stricteq 0x18, v12
330	jeqz label_10
331label_11: 
332	tryldglobalbyname 0x19, print
333	callarg1 0x1a, v11
334	mov v50, v5
335	mov v48, v5
336	mov v45, v5
337	mov v38, v5
338	mov v30, v5
339	mov v24, v5
340	mov v17, v5
341	mov v14, v5
342	tryldglobalbyname 0x1c, print
343	callarg1 0x1d, v5
344	mov v11, v4
345	jmp label_55
346label_10: 
347	lda v2
348	stricteq 0x1f, v12
349	jeqz label_13
350label_14: 
351	tryldglobalbyname 0x20, print
352	callarg1 0x21, v11
353	mov v50, v5
354	mov v48, v5
355	mov v45, v5
356	mov v38, v5
357	mov v30, v5
358	mov v24, v5
359	mov v17, v5
360	mov v14, v5
361	tryldglobalbyname 0x23, print
362	callarg1 0x24, v5
363	mov v11, v4
364	jmp label_33
365label_13: 
366	lda v1
367	stricteq 0x26, v9
368	callruntime.isfalse 0x27
369	jnez label_15
370label_16: 
371	lda v2
372	stricteq 0x28, v12
373	callruntime.isfalse 0x29
374	jnez label_15
375label_17: 
376	lda v11
377	throw
378label_15: 
379	lda v0
380	stricteq 0x2a, v9
381	callruntime.isfalse 0x2b
382	jnez label_21
383label_19: 
384	lda v2
385	stricteq 0x2c, v12
386	callruntime.isfalse 0x2d
387	jnez label_21
388label_20: 
389	tryldglobalbyname 0x2e, print
390	callarg1 0x2f, v11
391	mov v50, v5
392	mov v48, v5
393	mov v45, v5
394	mov v38, v5
395	mov v30, v5
396	mov v24, v5
397	mov v17, v5
398	mov v14, v5
399	tryldglobalbyname 0x31, print
400	callarg1 0x32, v5
401	mov v50, v4
402	mov v48, v4
403	mov v45, v4
404	mov v38, v4
405	mov v30, v4
406	mov v24, v4
407	mov v17, v4
408	mov v14, v4
409	tryldglobalbyname 0x34, print
410	callarg1 0x35, v4
411	mov v50, v3
412	mov v48, v3
413	mov v45, v3
414	mov v38, v3
415	mov v30, v3
416	mov v24, v3
417	mov v17, v3
418	mov v14, v3
419	tryldglobalbyname 0x37, print
420	callarg1 0x38, v3
421	mov v50, v1
422	mov v48, v1
423	mov v45, v1
424	mov v38, v1
425	mov v30, v1
426	mov v24, v1
427	mov v17, v1
428	mov v14, v1
429	lda v11
430	return
431label_46: 
432end_label_46: 
433label_73: 
434	sta v51
435label_63: 
436	mov v48, v50
437	mov v45, v50
438	mov v38, v50
439	mov v30, v50
440	mov v24, v50
441	mov v17, v50
442	mov v14, v50
443	lda v51
444	throw
445label_48: 
446end_label_48: 
447label_21: 
448	ldhole
449	sta v50
450	mov v49, v50
451	jmp label_22
452label_74: 
453	sta v49
454	mov v11, v48
455label_22: 
456	mov v40, v32
457	mov v41, v19
458	mov v42, v10
459	mov v43, v12
460	mov v44, v9
461	mov v45, v11
462	mov v33, v32
463	mov v34, v19
464	mov v35, v10
465	mov v36, v12
466	mov v37, v9
467	mov v38, v11
468	mov v26, v19
469	mov v27, v10
470	mov v28, v12
471	mov v29, v9
472	mov v30, v11
473	mov v20, v19
474	mov v21, v10
475	mov v22, v12
476	mov v23, v9
477	mov v24, v11
478	mov v16, v10
479	mov v17, v11
480	mov v13, v10
481	mov v14, v11
482	ldundefined
483	eq 0x3a, v47
484	jeqz label_23
485label_24: 
486	tryldglobalbyname 0x3b, print
487	mov v33, v32
488	mov v34, v19
489	mov v35, v10
490	mov v36, v12
491	mov v37, v9
492	callarg1 0x3c, v11
493	mov v11, v5
494label_23: 
495	mov v45, v11
496	mov v38, v11
497	mov v30, v11
498	mov v24, v11
499	mov v17, v11
500	mov v14, v11
501	ldhole
502	sta v47
503	lda v49
504	noteq 0x3e, v47
505	jeqz label_27
506label_26: 
507	lda v49
508	throw
509label_50: 
510end_label_50: 
511label_75: 
512	sta v46
513label_65: 
514	mov v33, v40
515	mov v34, v41
516	mov v35, v42
517	mov v36, v43
518	mov v37, v44
519	mov v38, v45
520	mov v26, v41
521	mov v27, v42
522	mov v28, v43
523	mov v29, v44
524	mov v30, v45
525	mov v20, v41
526	mov v21, v42
527	mov v22, v43
528	mov v23, v44
529	mov v24, v45
530	mov v16, v42
531	mov v17, v45
532	mov v13, v42
533	mov v14, v45
534	tryldglobalbyname 0x3f, print
535	callarg1 0x40, v46
536	tryldglobalbyname 0x42, print
537	callarg1 0x43, v45
538label_52: 
539end_label_52: 
540label_81: 
541	mov v11, v6
542	mov v9, v44
543	mov v12, v43
544	mov v10, v42
545	mov v19, v41
546	mov v32, v40
547label_27: 
548	mov v26, v19
549	mov v27, v10
550	mov v28, v12
551	mov v29, v9
552	mov v30, v11
553	mov v20, v19
554	mov v21, v10
555	mov v22, v12
556	mov v23, v9
557	mov v24, v11
558	mov v16, v10
559	mov v17, v11
560	mov v13, v10
561	mov v14, v11
562	ldhole
563	sta v40
564	mov v39, v40
565	jmp label_28
566label_76: 
567	sta v39
568	mov v11, v38
569	mov v9, v37
570	mov v12, v36
571	mov v10, v35
572	mov v19, v34
573	mov v32, v33
574label_28: 
575	mov v26, v19
576	mov v27, v10
577	mov v28, v12
578	mov v29, v9
579	mov v30, v11
580	mov v20, v19
581	mov v21, v10
582	mov v22, v12
583	mov v23, v9
584	mov v24, v11
585	mov v16, v10
586	mov v17, v11
587	mov v13, v10
588	mov v14, v11
589	ldundefined
590	eq 0x45, v32
591	jeqz label_29
592label_30: 
593	mov v26, v19
594	mov v27, v10
595	mov v28, v12
596	mov v29, v9
597	mov v20, v19
598	mov v21, v10
599	mov v22, v12
600	mov v23, v9
601	tryldglobalbyname 0x46, print
602	callarg1 0x47, v11
603	mov v11, v4
604label_29: 
605	mov v30, v11
606	mov v24, v11
607	mov v17, v11
608	mov v14, v11
609	ldhole
610	sta v32
611	lda v39
612	noteq 0x49, v32
613	jeqz label_54
614label_32: 
615	lda v39
616	throw
617label_54: 
618end_label_54: 
619	jmp label_55
620label_77: 
621	sta v31
622label_67: 
623	mov v20, v26
624	mov v21, v27
625	mov v22, v28
626	mov v23, v29
627	mov v24, v30
628	mov v16, v27
629	mov v17, v30
630	mov v13, v27
631	mov v14, v30
632	lda v31
633	throw
634label_56: 
635end_label_56: 
636label_33: 
637	mov v17, v11
638	mov v14, v11
639	ldhole
640	sta v26
641	mov v25, v26
642	jmp label_34
643label_78: 
644	sta v25
645	mov v11, v24
646	mov v9, v23
647	mov v12, v22
648	mov v10, v21
649	mov v19, v20
650label_34: 
651	mov v16, v10
652	mov v17, v11
653	mov v13, v10
654	mov v14, v11
655	ldundefined
656	eq 0x4a, v19
657	jeqz label_35
658label_36: 
659	mov v16, v10
660	mov v13, v10
661	tryldglobalbyname 0x4b, print
662	callarg1 0x4c, v11
663	mov v11, v3
664label_35: 
665	mov v17, v11
666	mov v14, v11
667	ldhole
668	sta v19
669	lda v25
670	noteq 0x4e, v19
671	jeqz label_58
672label_38: 
673	lda v25
674	throw
675label_58: 
676end_label_58: 
677	jmp label_59
678label_79: 
679	sta v18
680label_69: 
681	mov v13, v16
682	mov v14, v17
683	lda v18
684	throw
685label_60: 
686end_label_60: 
687label_82: 
688	mov v3, v11
689label_39: 
690	ldhole
691	sta v0
692	mov v15, v0
693	jmp label_40
694label_80: 
695	sta v15
696	mov v3, v14
697	mov v10, v13
698label_40: 
699	ldundefined
700	eq 0x4f, v10
701	jeqz label_41
702label_42: 
703	tryldglobalbyname 0x50, print
704	callarg1 0x51, v3
705label_41: 
706	ldhole
707	sta v0
708	lda v15
709	noteq 0x53, v0
710	jeqz label_43
711label_44: 
712	lda v15
713	throw
714label_43: 
715	ldundefined
716	returnundefined
717label_72: 
718}
719
720.catchall label_45, end_label_46, label_73
721
722.catchall label_47, end_label_48, label_74
723
724.catchall label_49, end_label_50, label_75
725
726.catchall label_51, end_label_52, label_76
727
728.catchall label_53, end_label_54, label_77
729
730.catchall label_55, end_label_56, label_78
731
732.catchall label_57, end_label_58, label_79
733
734.catchall label_59, end_label_60, label_80
735
736slotNum = 0xc
737.function any .func_main_0(any a0, any a1, any a2) {
738	nop
739label_12: 
740label_0: 
741	definefunc 0x0, .#*#testNestedTryBlock, 0x0
742	sta v0
743	definefunc 0x1, .#*#testTryBlockWithLoop, 0x0
744	sta v1
745label_3: 
746label_7: 
747	lda v0
748	callarg0 0x2
749label_4: 
750end_label_4: 
751	jmp label_5
752label_14: 
753	sta v2
754label_10: 
755	tryldglobalbyname 0x4, print
756	callarg1 0x5, v2
757label_5: 
758label_1: 
759	lda v1
760	callarg0 0x7
761label_6: 
762end_label_6: 
763	jmp label_2
764label_15: 
765	sta v0
766label_11: 
767	tryldglobalbyname 0x9, print
768	callarg1 0xa, v0
769label_2: 
770	ldundefined
771	returnundefined
772label_13: 
773}
774
775.catchall label_3, end_label_4, label_14
776
777.catchall label_5, end_label_6, label_15
778
779
780