summaryrefslogtreecommitdiff
path: root/test/files/run/inline-ex-handlers.check
blob: 7c885d2cc98a1151dedc63890c961c55a6687669 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
--- a
+++ b
@@ -171,5 +171,5 @@
   def productElement(x$1: Int (INT)): Object {
-  locals: value x$1, value x1
+  locals: value x$1, value x1, variable boxed1
   startBlock: 1
-  blocks: [1,2,3,4]
+  blocks: [1,3,4]
   
@@ -186,2 +186,4 @@
     92	LOAD_LOCAL(value x$1)
+    92	STORE_LOCAL(variable boxed1)
+    92	LOAD_LOCAL(variable boxed1)
     92	BOX INT
@@ -194,5 +196,2 @@
     92	CALL_METHOD MyException.message (dynamic)
-    92	JUMP 2
-    
-  2: 
     92	RETURN(REF(class Object))
@@ -246,3 +245,3 @@
   startBlock: 1
-  blocks: [1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18]
+  blocks: [1,2,3,4,5,6,8,11,12,13,14,15,16,17,18]
   
@@ -257,5 +256,2 @@
     92	SCOPE_ENTER value x1
-    92	JUMP 7
-    
-  7: 
     92	LOAD_LOCAL(value x1)
@@ -390,5 +386,5 @@
   def main(args: Array[String] (ARRAY[REF(class String)])): Unit {
-  locals: value args, variable result, value ex6, value x4, value x5, value message, value x
+  locals: value args, variable result, value ex6, value x4, value x5, value x
   startBlock: 1
-  blocks: [1,2,3,4,5,8,10,11,13]
+  blocks: [1,2,3,5,8,10,11,13,14]
   
@@ -416,4 +412,13 @@
     103	CALL_METHOD MyException.<init> (static-instance)
-    103	THROW(MyException)
+    ?	STORE_LOCAL(value ex6)
+    ?	JUMP 14
     
+  14: 
+    101	LOAD_LOCAL(value ex6)
+    101	STORE_LOCAL(value x4)
+    101	SCOPE_ENTER value x4
+    106	LOAD_LOCAL(value x4)
+    106	IS_INSTANCE REF(class MyException)
+    106	CZJUMP (BOOL)NE ? 5 : 8
+    
   13: 
@@ -429,5 +434,2 @@
     101	SCOPE_ENTER value x4
-    101	JUMP 4
-    
-  4: 
     106	LOAD_LOCAL(value x4)
@@ -441,8 +443,5 @@
     106	SCOPE_ENTER value x5
-    106	LOAD_LOCAL(value x5)
-    106	CALL_METHOD MyException.message (dynamic)
-    106	STORE_LOCAL(value message)
-    106	SCOPE_ENTER value message
     106	LOAD_MODULE object Predef
-    106	LOAD_LOCAL(value message)
+    ?	LOAD_LOCAL(value x5)
+    106	CALL_METHOD MyException.message (dynamic)
     106	CALL_METHOD scala.Predef.println (dynamic)
@@ -518,3 +517,3 @@
   startBlock: 1
-  blocks: [1,2,3,4,6,7,9,10]
+  blocks: [1,3,4,6,7,9,10,11,12,13]
   
@@ -547,4 +546,9 @@
     306	CALL_METHOD MyException.<init> (static-instance)
-    306	THROW(MyException)
+    ?	JUMP 11
     
+  11: 
+    ?	LOAD_LOCAL(variable monitor4)
+    305	MONITOR_EXIT
+    ?	JUMP 12
+    
   9: 
@@ -553,3 +557,3 @@
     305	MONITOR_EXIT
-    ?	THROW(Throwable)
+    ?	JUMP 12
     
@@ -559,4 +563,11 @@
     304	MONITOR_EXIT
-    ?	THROW(Throwable)
+    ?	STORE_LOCAL(value t)
+    ?	JUMP 13
     
+  12: 
+    ?	LOAD_LOCAL(variable monitor3)
+    304	MONITOR_EXIT
+    ?	STORE_LOCAL(value t)
+    ?	JUMP 13
+    
   3: 
@@ -573,5 +584,14 @@
     310	CALL_METHOD scala.Predef.println (dynamic)
-    310	JUMP 2
+    300	RETURN(UNIT)
     
-  2: 
+  13: 
+    310	LOAD_MODULE object Predef
+    310	CALL_PRIMITIVE(StartConcat)
+    310	CONSTANT("Caught crash: ")
+    310	CALL_PRIMITIVE(StringConcat(REF(class String)))
+    310	LOAD_LOCAL(value t)
+    310	CALL_METHOD java.lang.Throwable.toString (dynamic)
+    310	CALL_PRIMITIVE(StringConcat(REF(class String)))
+    310	CALL_PRIMITIVE(EndConcat)
+    310	CALL_METHOD scala.Predef.println (dynamic)
     300	RETURN(UNIT)
@@ -583,6 +603,6 @@
       with finalizer: null
-    catch (Throwable) in ArrayBuffer(7, 9, 10) starting at: 6
+    catch (Throwable) in ArrayBuffer(7, 9, 10, 11) starting at: 6
       consisting of blocks: List(6)
       with finalizer: null
-    catch (Throwable) in ArrayBuffer(4, 6, 7, 9, 10) starting at: 3
+    catch (Throwable) in ArrayBuffer(4, 6, 7, 9, 10, 11, 12) starting at: 3
       consisting of blocks: List(3)
@@ -618,3 +638,3 @@
   startBlock: 1
-  blocks: [1,3,4,5,6,8,9]
+  blocks: [1,3,4,5,6,8,9,10,11]
   
@@ -642,4 +662,10 @@
     78	CALL_METHOD java.lang.IllegalArgumentException.<init> (static-instance)
-    78	THROW(IllegalArgumentException)
+    ?	STORE_LOCAL(value e)
+    ?	JUMP 10
     
+  10: 
+    81	LOAD_LOCAL(value e)
+    ?	STORE_LOCAL(variable exc1)
+    ?	JUMP 11
+    
   8: 
@@ -668,3 +694,4 @@
     81	LOAD_LOCAL(value e)
-    81	THROW(Exception)
+    ?	STORE_LOCAL(variable exc1)
+    ?	JUMP 11
     
@@ -685,2 +712,15 @@
     
+  11: 
+    83	LOAD_MODULE object Predef
+    83	CONSTANT("finally")
+    83	CALL_METHOD scala.Predef.println (dynamic)
+    84	LOAD_LOCAL(variable result)
+    84	CONSTANT(1)
+    84	CALL_PRIMITIVE(Arithmetic(SUB,INT))
+    84	CONSTANT(2)
+    84	CALL_PRIMITIVE(Arithmetic(DIV,INT))
+    84	STORE_LOCAL(variable result)
+    84	LOAD_LOCAL(variable exc1)
+    84	THROW(Throwable)
+    
   }
@@ -690,3 +730,3 @@
       with finalizer: null
-    catch (<none>) in ArrayBuffer(4, 5, 6, 8) starting at: 3
+    catch (<none>) in ArrayBuffer(4, 5, 6, 8, 10) starting at: 3
       consisting of blocks: List(3)
@@ -714,5 +754,5 @@
   def main(args: Array[String] (ARRAY[REF(class String)])): Unit {
-  locals: value args, variable result, value ex6, variable exc2, value x4, value x5, value message, value x, value ex6, value x4, value x5, value message, value x
+  locals: value args, variable result, value ex6, variable exc2, value x4, value x5, value x, value ex6, value x4, value x5, value x
   startBlock: 1
-  blocks: [1,3,4,5,6,9,13,14,15,18,20,21,23,24]
+  blocks: [1,3,4,5,6,9,13,14,15,18,20,21,23,24,25,26,27]
   
@@ -740,4 +780,11 @@
     172	CALL_METHOD MyException.<init> (static-instance)
-    172	THROW(MyException)
+    ?	STORE_LOCAL(value ex6)
+    ?	JUMP 25
     
+  25: 
+    170	LOAD_LOCAL(value ex6)
+    170	STORE_LOCAL(value x4)
+    170	SCOPE_ENTER value x4
+    170	JUMP 14
+    
   23: 
@@ -780,8 +827,5 @@
     175	SCOPE_ENTER value x5
-    175	LOAD_LOCAL(value x5)
-    175	CALL_METHOD MyException.message (dynamic)
-    175	STORE_LOCAL(value message)
-    175	SCOPE_ENTER value message
     176	LOAD_MODULE object Predef
-    176	LOAD_LOCAL(value message)
+    ?	LOAD_LOCAL(value x5)
+    176	CALL_METHOD MyException.message (dynamic)
     176	CALL_METHOD scala.Predef.println (dynamic)
@@ -789,5 +833,7 @@
     177	DUP(REF(class MyException))
-    177	LOAD_LOCAL(value message)
+    ?	LOAD_LOCAL(value x5)
+    177	CALL_METHOD MyException.message (dynamic)
     177	CALL_METHOD MyException.<init> (static-instance)
-    177	THROW(MyException)
+    ?	STORE_LOCAL(value ex6)
+    ?	JUMP 26
     
@@ -795,3 +841,4 @@
     170	LOAD_LOCAL(value ex6)
-    170	THROW(Throwable)
+    ?	STORE_LOCAL(value ex6)
+    ?	JUMP 26
     
@@ -805,2 +852,8 @@
     
+  26: 
+    169	LOAD_LOCAL(value ex6)
+    169	STORE_LOCAL(value x4)
+    169	SCOPE_ENTER value x4
+    169	JUMP 5
+    
   5: 
@@ -815,8 +868,5 @@
     180	SCOPE_ENTER value x5
-    180	LOAD_LOCAL(value x5)
-    180	CALL_METHOD MyException.message (dynamic)
-    180	STORE_LOCAL(value message)
-    180	SCOPE_ENTER value message
     181	LOAD_MODULE object Predef
-    181	LOAD_LOCAL(value message)
+    ?	LOAD_LOCAL(value x5)
+    181	CALL_METHOD MyException.message (dynamic)
     181	CALL_METHOD scala.Predef.println (dynamic)
@@ -824,5 +874,7 @@
     182	DUP(REF(class MyException))
-    182	LOAD_LOCAL(value message)
+    ?	LOAD_LOCAL(value x5)
+    182	CALL_METHOD MyException.message (dynamic)
     182	CALL_METHOD MyException.<init> (static-instance)
-    182	THROW(MyException)
+    ?	STORE_LOCAL(variable exc2)
+    ?	JUMP 27
     
@@ -830,3 +882,4 @@
     169	LOAD_LOCAL(value ex6)
-    169	THROW(Throwable)
+    ?	STORE_LOCAL(variable exc2)
+    ?	JUMP 27
     
@@ -847,2 +900,15 @@
     
+  27: 
+    184	LOAD_MODULE object Predef
+    184	CONSTANT("finally")
+    184	CALL_METHOD scala.Predef.println (dynamic)
+    185	LOAD_LOCAL(variable result)
+    185	CONSTANT(1)
+    185	CALL_PRIMITIVE(Arithmetic(SUB,INT))
+    185	CONSTANT(2)
+    185	CALL_PRIMITIVE(Arithmetic(DIV,INT))
+    185	STORE_LOCAL(variable result)
+    185	LOAD_LOCAL(variable exc2)
+    185	THROW(Throwable)
+    
   }
@@ -852,6 +918,6 @@
       with finalizer: null
-    catch (Throwable) in ArrayBuffer(13, 14, 15, 18, 20, 21, 23) starting at: 4
+    catch (Throwable) in ArrayBuffer(13, 14, 15, 18, 20, 21, 23, 25) starting at: 4
       consisting of blocks: List(9, 8, 6, 5, 4)
       with finalizer: null
-    catch (<none>) in ArrayBuffer(4, 5, 6, 9, 13, 14, 15, 18, 20, 21, 23) starting at: 3
+    catch (<none>) in ArrayBuffer(4, 5, 6, 9, 13, 14, 15, 18, 20, 21, 23, 25, 26) starting at: 3
       consisting of blocks: List(3)
@@ -879,5 +945,5 @@
   def main(args: Array[String] (ARRAY[REF(class String)])): Unit {
-  locals: value args, variable result, value e, value ex6, value x4, value x5, value message, value x
+  locals: value args, variable result, value e, value ex6, value x4, value x5, value x
   startBlock: 1
-  blocks: [1,2,3,6,7,8,11,13,14,16]
+  blocks: [1,2,3,6,7,8,11,13,14,16,17]
   
@@ -905,4 +971,11 @@
     124	CALL_METHOD MyException.<init> (static-instance)
-    124	THROW(MyException)
+    ?	STORE_LOCAL(value ex6)
+    ?	JUMP 17
     
+  17: 
+    122	LOAD_LOCAL(value ex6)
+    122	STORE_LOCAL(value x4)
+    122	SCOPE_ENTER value x4
+    122	JUMP 7
+    
   16: 
@@ -930,8 +1003,5 @@
     127	SCOPE_ENTER value x5
-    127	LOAD_LOCAL(value x5)
-    127	CALL_METHOD MyException.message (dynamic)
-    127	STORE_LOCAL(value message)
-    127	SCOPE_ENTER value message
     127	LOAD_MODULE object Predef
-    127	LOAD_LOCAL(value message)
+    ?	LOAD_LOCAL(value x5)
+    127	CALL_METHOD MyException.message (dynamic)
     127	CALL_METHOD scala.Predef.println (dynamic)
@@ -964,3 +1034,3 @@
       with finalizer: null
-    catch (IllegalArgumentException) in ArrayBuffer(6, 7, 8, 11, 13, 14, 16) starting at: 3
+    catch (IllegalArgumentException) in ArrayBuffer(6, 7, 8, 11, 13, 14, 16, 17) starting at: 3
       consisting of blocks: List(3)
@@ -988,5 +1058,5 @@
   def main(args: Array[String] (ARRAY[REF(class String)])): Unit {
-  locals: value args, variable result, value ex6, value x4, value x5, value message, value x, value e
+  locals: value args, variable result, value ex6, value x4, value x5, value x, value e
   startBlock: 1
-  blocks: [1,2,3,4,5,8,12,13,14,16]
+  blocks: [1,2,3,5,8,12,13,14,16,17]
   
@@ -1014,4 +1084,13 @@
     148	CALL_METHOD MyException.<init> (static-instance)
-    148	THROW(MyException)
+    ?	STORE_LOCAL(value ex6)
+    ?	JUMP 17
     
+  17: 
+    145	LOAD_LOCAL(value ex6)
+    145	STORE_LOCAL(value x4)
+    145	SCOPE_ENTER value x4
+    154	LOAD_LOCAL(value x4)
+    154	IS_INSTANCE REF(class MyException)
+    154	CZJUMP (BOOL)NE ? 5 : 8
+    
   16: 
@@ -1035,5 +1114,2 @@
     145	SCOPE_ENTER value x4
-    145	JUMP 4
-    
-  4: 
     154	LOAD_LOCAL(value x4)
@@ -1047,8 +1123,5 @@
     154	SCOPE_ENTER value x5
-    154	LOAD_LOCAL(value x5)
-    154	CALL_METHOD MyException.message (dynamic)
-    154	STORE_LOCAL(value message)
-    154	SCOPE_ENTER value message
     154	LOAD_MODULE object Predef
-    154	LOAD_LOCAL(value message)
+    ?	LOAD_LOCAL(value x5)
+    154	CALL_METHOD MyException.message (dynamic)
     154	CALL_METHOD scala.Predef.println (dynamic)
@@ -1269,3 +1342,3 @@
   startBlock: 1
-  blocks: [1,2,3,4,5,7]
+  blocks: [1,2,3,4,5,7,8]
   
@@ -1293,4 +1366,11 @@
     38	CALL_METHOD java.lang.IllegalArgumentException.<init> (static-instance)
-    38	THROW(IllegalArgumentException)
+    ?	STORE_LOCAL(value e)
+    ?	JUMP 8
     
+  8: 
+    42	LOAD_MODULE object Predef
+    42	CONSTANT("IllegalArgumentException")
+    42	CALL_METHOD scala.Predef.println (dynamic)
+    42	JUMP 2
+    
   7: 
@@ -1340,5 +1420,5 @@
   def main(args: Array[String] (ARRAY[REF(class String)])): Unit {
-  locals: value args, variable result, value ex6, value x4, value x5, value message, value x
+  locals: value args, variable result, value ex6, value x4, value x5, value x
   startBlock: 1
-  blocks: [1,2,3,4,5,8,10,11,13,14,16]
+  blocks: [1,2,3,5,8,10,11,13,14,16,17]
   
@@ -1366,3 +1446,4 @@
     203	CALL_METHOD MyException.<init> (static-instance)
-    203	THROW(MyException)
+    ?	STORE_LOCAL(value ex6)
+    ?	JUMP 17
     
@@ -1386,4 +1467,13 @@
     209	CALL_METHOD MyException.<init> (static-instance)
-    209	THROW(MyException)
+    ?	STORE_LOCAL(value ex6)
+    ?	JUMP 17
     
+  17: 
+    200	LOAD_LOCAL(value ex6)
+    200	STORE_LOCAL(value x4)
+    200	SCOPE_ENTER value x4
+    212	LOAD_LOCAL(value x4)
+    212	IS_INSTANCE REF(class MyException)
+    212	CZJUMP (BOOL)NE ? 5 : 8
+    
   16: 
@@ -1399,5 +1489,2 @@
     200	SCOPE_ENTER value x4
-    200	JUMP 4
-    
-  4: 
     212	LOAD_LOCAL(value x4)
@@ -1411,8 +1498,5 @@
     212	SCOPE_ENTER value x5
-    212	LOAD_LOCAL(value x5)
-    212	CALL_METHOD MyException.message (dynamic)
-    212	STORE_LOCAL(value message)
-    212	SCOPE_ENTER value message
     213	LOAD_MODULE object Predef
-    213	LOAD_LOCAL(value message)
+    ?	LOAD_LOCAL(value x5)
+    213	CALL_METHOD MyException.message (dynamic)
     213	CALL_METHOD scala.Predef.println (dynamic)
@@ -1460,3 +1544,3 @@
   startBlock: 1
-  blocks: [1,2,3,4,5,7]
+  blocks: [1,2,3,4,5,7,8]
   
@@ -1484,4 +1568,11 @@
     58	CALL_METHOD java.lang.IllegalArgumentException.<init> (static-instance)
-    58	THROW(IllegalArgumentException)
+    ?	STORE_LOCAL(value e)
+    ?	JUMP 8
     
+  8: 
+    62	LOAD_MODULE object Predef
+    62	CONSTANT("RuntimeException")
+    62	CALL_METHOD scala.Predef.println (dynamic)
+    62	JUMP 2
+    
   7: 
@@ -1533,3 +1624,3 @@
   startBlock: 1
-  blocks: [1,3,4]
+  blocks: [1,3,4,5]
   
@@ -1553,4 +1644,9 @@
     229	CALL_METHOD MyException.<init> (static-instance)
-    229	THROW(MyException)
+    ?	JUMP 5
     
+  5: 
+    ?	LOAD_LOCAL(variable monitor1)
+    228	MONITOR_EXIT
+    228	THROW(Throwable)
+    
   3: 
@@ -1559,3 +1655,3 @@
     228	MONITOR_EXIT
-    ?	THROW(Throwable)
+    228	THROW(Throwable)
     
@@ -1587,5 +1683,5 @@
   def main(args: Array[String] (ARRAY[REF(class String)])): Unit {
-  locals: value args, variable result, variable monitor2, variable monitorResult1
+  locals: value exception$1, value args, variable result, variable monitor2, variable monitorResult1
   startBlock: 1
-  blocks: [1,3,4]
+  blocks: [1,3,4,5]
   
@@ -1612,4 +1708,12 @@
     245	CALL_METHOD MyException.<init> (static-instance)
-    245	THROW(MyException)
+    ?	STORE_LOCAL(value exception$1)
+    ?	DROP ConcatClass
+    ?	LOAD_LOCAL(value exception$1)
+    ?	JUMP 5
     
+  5: 
+    ?	LOAD_LOCAL(variable monitor2)
+    244	MONITOR_EXIT
+    244	THROW(Throwable)
+    
   3: 
@@ -1618,3 +1722,3 @@
     244	MONITOR_EXIT
-    ?	THROW(Throwable)
+    244	THROW(Throwable)