summaryrefslogblamecommitdiff
path: root/test/files/run/inline-ex-handlers.check
blob: 7c885d2cc98a1151dedc63890c961c55a6687669 (plain) (tree)






















                                                 

                                                    
















































                                                                                             

                                    





























                                                                



                                                          
     
      









                                                                  

                            
                           

                                                                  

                                    

                                                                            
                                    
                   
                

                                
   
                    


                                                                               
               
     
       

                                  
               
     

                   


                                  
               
     
                    
     
       












                                                  
                   
                           

                                                                 
                                    
                   



                                                                                                                                                                   

                                                         
   
                    


                                                                
               
     
       


                                     
                       
     

                   









                                                          
                   






                                                                
               
     
                   


                                     
               
     
                   
     
       





                                     
                   









                                                          
                   






                                                                
               
     
                   


                                     
               
     
                    
     
       












                                                          
                   
                           


                                                                                    
                           

                                                                                                 
                                    
                   






                                                                                                      
                    











                                                                
                    









                                                          
                    



                                                                                                
                    






                                                                                                      
                      













                                                                
                     




                                    
                     









                                                          
                     



                          
                      











                                                                               
                     






                                                                                             
                     




                                                                
                      













                                                                
                     




                                    
                     









                                                          
                     



                          
                      











                                                                               
                     
                

                    
   
                     









                                                                
                     



                                
                     



                                                                                                     

                    
   
                      












                                                                
                     



                                
--- 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)