summaryrefslogtreecommitdiff
path: root/test/files/run/inline-ex-handlers.check
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-04-02 11:31:35 +0200
committerJason Zaugg <jzaugg@gmail.com>2013-04-02 15:20:53 +0200
commit51d96a32f1726f5152b1b6ff9a469944c8a77e94 (patch)
treeecb17550e07c09acd5db362a3f7ee8b9d4eaacc4 /test/files/run/inline-ex-handlers.check
parent00e6c8b9e395cae3b761b848482bc91c7634ec13 (diff)
parenta4785baf83f8655399bcfe865962fe4d1ef48e59 (diff)
downloadscala-51d96a32f1726f5152b1b6ff9a469944c8a77e94.tar.gz
scala-51d96a32f1726f5152b1b6ff9a469944c8a77e94.tar.bz2
scala-51d96a32f1726f5152b1b6ff9a469944c8a77e94.zip
Merge remote tracking branch 'origin/2.10.x' into topic/merge-2.10.x-to-v2.11.0-M2-74-g00e6c8b
Conflicts: bincompat-backward.whitelist.conf bincompat-forward.whitelist.conf build.xml src/compiler/scala/reflect/reify/utils/Extractors.scala src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala src/compiler/scala/tools/nsc/transform/patmat/MatchOptimization.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala src/partest/scala/tools/partest/nest/ReflectiveRunner.scala src/reflect/scala/reflect/internal/Types.scala src/reflect/scala/reflect/runtime/JavaUniverse.scala test/files/run/inline-ex-handlers.check test/files/run/t6223.check test/files/run/t6223.scala test/scaladoc/scalacheck/IndexTest.scala
Diffstat (limited to 'test/files/run/inline-ex-handlers.check')
-rw-r--r--test/files/run/inline-ex-handlers.check919
1 files changed, 492 insertions, 427 deletions
diff --git a/test/files/run/inline-ex-handlers.check b/test/files/run/inline-ex-handlers.check
index abcc8bf42d..7c885d2cc9 100644
--- a/test/files/run/inline-ex-handlers.check
+++ b/test/files/run/inline-ex-handlers.check
@@ -1,427 +1,492 @@
-172c172
-< locals: value x$1, value x1
----
-> locals: value x$1, value x1, variable boxed1
-174c174
-< blocks: [1,2,3,4]
----
-> blocks: [1,3,4]
-186a187,188
-> 92 STORE_LOCAL(variable boxed1)
-> 92 LOAD_LOCAL(variable boxed1)
-195,197d196
-< 92 JUMP 2
-<
-< 2:
-247c246
-< 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]
-258,260d256
-< 92 JUMP 7
-<
-< 7:
-391c387
-< 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
-393c389
-< blocks: [1,2,3,4,5,8,10,11,13]
----
-> blocks: [1,2,3,5,8,10,11,13,14]
-417c413,422
-< 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
-430,432d434
-< 101 JUMP 4
-<
-< 4:
-442,445d443
-< 106 LOAD_LOCAL(value x5)
-< 106 CALL_METHOD MyException.message (dynamic)
-< 106 STORE_LOCAL(value message)
-< 106 SCOPE_ENTER value message
-447c445,446
-< 106 LOAD_LOCAL(value message)
----
-> ? LOAD_LOCAL(value x5)
-> 106 CALL_METHOD MyException.message (dynamic)
-519c518
-< blocks: [1,2,3,4,6,7,9,10]
----
-> blocks: [1,3,4,6,7,9,10,11,12,13]
-548c547,552
-< 306 THROW(MyException)
----
-> ? JUMP 11
->
-> 11:
-> ? LOAD_LOCAL(variable monitor4)
-> 305 MONITOR_EXIT
-> ? JUMP 12
-554c558
-< ? THROW(Throwable)
----
-> ? JUMP 12
-560c564,571
-< ? THROW(Throwable)
----
-> ? STORE_LOCAL(value t)
-> ? JUMP 13
->
-> 12:
-> ? LOAD_LOCAL(variable monitor3)
-> 304 MONITOR_EXIT
-> ? STORE_LOCAL(value t)
-> ? JUMP 13
-574c585
-< 310 JUMP 2
----
-> 300 RETURN(UNIT)
-576c587,596
-< 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)
-584c604
-< catch (Throwable) in ArrayBuffer(7, 9, 10) starting at: 6
----
-> catch (Throwable) in ArrayBuffer(7, 9, 10, 11) starting at: 6
-587c607
-< 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
-619c639
-< blocks: [1,3,4,5,6,8,9]
----
-> blocks: [1,3,4,5,6,8,9,10,11]
-643c663,669
-< 78 THROW(IllegalArgumentException)
----
-> ? STORE_LOCAL(value e)
-> ? JUMP 10
->
-> 10:
-> 81 LOAD_LOCAL(value e)
-> ? STORE_LOCAL(variable exc1)
-> ? JUMP 11
-669c695,696
-< 81 THROW(Exception)
----
-> ? STORE_LOCAL(variable exc1)
-> ? JUMP 11
-685a713,725
-> 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)
->
-691c731
-< catch (<none>) in ArrayBuffer(4, 5, 6, 8) starting at: 3
----
-> catch (<none>) in ArrayBuffer(4, 5, 6, 8, 10) starting at: 3
-715c755
-< 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
-717c757
-< 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]
-741c781,788
-< 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
-781,784d827
-< 175 LOAD_LOCAL(value x5)
-< 175 CALL_METHOD MyException.message (dynamic)
-< 175 STORE_LOCAL(value message)
-< 175 SCOPE_ENTER value message
-786c829,830
-< 176 LOAD_LOCAL(value message)
----
-> ? LOAD_LOCAL(value x5)
-> 176 CALL_METHOD MyException.message (dynamic)
-790c834,835
-< 177 LOAD_LOCAL(value message)
----
-> ? LOAD_LOCAL(value x5)
-> 177 CALL_METHOD MyException.message (dynamic)
-792c837,838
-< 177 THROW(MyException)
----
-> ? STORE_LOCAL(value ex6)
-> ? JUMP 26
-796c842,843
-< 170 THROW(Throwable)
----
-> ? STORE_LOCAL(value ex6)
-> ? JUMP 26
-805a853,858
-> 26:
-> 169 LOAD_LOCAL(value ex6)
-> 169 STORE_LOCAL(value x4)
-> 169 SCOPE_ENTER value x4
-> 169 JUMP 5
->
-816,819d868
-< 180 LOAD_LOCAL(value x5)
-< 180 CALL_METHOD MyException.message (dynamic)
-< 180 STORE_LOCAL(value message)
-< 180 SCOPE_ENTER value message
-821c870,871
-< 181 LOAD_LOCAL(value message)
----
-> ? LOAD_LOCAL(value x5)
-> 181 CALL_METHOD MyException.message (dynamic)
-825c875,876
-< 182 LOAD_LOCAL(value message)
----
-> ? LOAD_LOCAL(value x5)
-> 182 CALL_METHOD MyException.message (dynamic)
-827c878,879
-< 182 THROW(MyException)
----
-> ? STORE_LOCAL(variable exc2)
-> ? JUMP 27
-831c883,884
-< 169 THROW(Throwable)
----
-> ? STORE_LOCAL(variable exc2)
-> ? JUMP 27
-847a901,913
-> 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)
->
-853c919
-< 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
-856c922
-< 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
-880c946
-< 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
-882c948
-< blocks: [1,2,3,6,7,8,11,13,14,16]
----
-> blocks: [1,2,3,6,7,8,11,13,14,16,17]
-906c972,979
-< 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
-931,934d1003
-< 127 LOAD_LOCAL(value x5)
-< 127 CALL_METHOD MyException.message (dynamic)
-< 127 STORE_LOCAL(value message)
-< 127 SCOPE_ENTER value message
-936c1005,1006
-< 127 LOAD_LOCAL(value message)
----
-> ? LOAD_LOCAL(value x5)
-> 127 CALL_METHOD MyException.message (dynamic)
-965c1035
-< 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
-989c1059
-< 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
-991c1061
-< blocks: [1,2,3,4,5,8,12,13,14,16]
----
-> blocks: [1,2,3,5,8,12,13,14,16,17]
-1015c1085,1094
-< 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
-1036,1038d1114
-< 145 JUMP 4
-<
-< 4:
-1048,1051d1123
-< 154 LOAD_LOCAL(value x5)
-< 154 CALL_METHOD MyException.message (dynamic)
-< 154 STORE_LOCAL(value message)
-< 154 SCOPE_ENTER value message
-1053c1125,1126
-< 154 LOAD_LOCAL(value message)
----
-> ? LOAD_LOCAL(value x5)
-> 154 CALL_METHOD MyException.message (dynamic)
-1270c1343
-< blocks: [1,2,3,4,5,7]
----
-> blocks: [1,2,3,4,5,7,8]
-1294c1367,1374
-< 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
-1341c1421
-< 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
-1343c1423
-< blocks: [1,2,3,4,5,8,10,11,13,14,16]
----
-> blocks: [1,2,3,5,8,10,11,13,14,16,17]
-1367c1447,1448
-< 203 THROW(MyException)
----
-> ? STORE_LOCAL(value ex6)
-> ? JUMP 17
-1387c1468,1477
-< 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
-1400,1402d1489
-< 200 JUMP 4
-<
-< 4:
-1412,1415d1498
-< 212 LOAD_LOCAL(value x5)
-< 212 CALL_METHOD MyException.message (dynamic)
-< 212 STORE_LOCAL(value message)
-< 212 SCOPE_ENTER value message
-1417c1500,1501
-< 213 LOAD_LOCAL(value message)
----
-> ? LOAD_LOCAL(value x5)
-> 213 CALL_METHOD MyException.message (dynamic)
-1461c1545
-< blocks: [1,2,3,4,5,7]
----
-> blocks: [1,2,3,4,5,7,8]
-1485c1569,1570
-< 58 THROW(IllegalArgumentException)
----
-> ? STORE_LOCAL(value e)
-> ? JUMP 8
-1486a1572,1577
-> 8:
-> 62 LOAD_MODULE object Predef
-> 62 CONSTANT("RuntimeException")
-> 62 CALL_METHOD scala.Predef.println (dynamic)
-> 62 JUMP 2
->
-1534c1625
-< blocks: [1,3,4]
----
-> blocks: [1,3,4,5]
-1554c1645,1650
-< 229 THROW(MyException)
----
-> ? JUMP 5
->
-> 5:
-> ? LOAD_LOCAL(variable monitor1)
-> 228 MONITOR_EXIT
-> 228 THROW(Throwable)
-1560c1656
-< ? THROW(Throwable)
----
-> 228 THROW(Throwable)
-1588c1684
-< locals: value args, variable result, variable monitor2, variable monitorResult1
----
-> locals: value exception$1, value args, variable result, variable monitor2, variable monitorResult1
-1590c1686
-< blocks: [1,3,4]
----
-> blocks: [1,3,4,5]
-1613c1709,1717
-< 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)
-1619c1723
-< ? THROW(Throwable)
----
-> 244 THROW(Throwable)
-
+--- 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)
+