summaryrefslogblamecommitdiff
path: root/test/pending/run/inline-ex-handlers.check
blob: fce32771b47eca3a5248b9a862d05db7bd201278 (plain) (tree)
1
2
3
4
5
6
7
8
9








                                               
 







                                                 

     


                                 

                                                    
 


                            

     
                            
                   





                                                                                             
 
                    



                                                                

      





                                                  

      
                   

                                    

     
                                    
                   









                                                          
                   
                

                                    
 
                   


                                                                

      


                                     

     
                   


                            
 
                    



                            

      



                                     

     
                    


                                                          


      








                                                                  
                            
                   
                           

                                                             

                                    

                                                                       
                                    
                   
                

                                
 
                    


                                                                               
               

      

                                  
               

     
                   


                                  
               
 
                    

      










                                                  
 
    
                   
                           

                                                            
                                    
                   



                                                                                                                                                                   

                                                         
 
                    


                                                                
               

      


                                     
                       

      
                   









                                                          
                   






                                                                
               
 
                   


                                     
               
 
                   

      



                                     

     
                   









                                                          
                   






                                                                
               
 
                   


                                     
               
 
                    

      










                                                          
 
    
                   
                           

                                                                               
                                                
                           

                                                                                            
                                    
                   





                                                                                                      
 
                    



                                                                

      



                                     

      
                    









                                                          
                    
                           

                                                                                           
                                    
                     





                                                                                                      
 
                      



                                                                

      





                                                  

      
                     

                                    

     
                                    
                     









                                                          
                     


                          
 
                      



                                                                               

     



                                                  

     
                     





                                                                                             
 
                     



                                                                
 
                      



                                                                

      





                                                  

      
                     

                                    

     
                                    
                     









                                                          
                     


                          
 
                      



                                                                               

     



                                                  

     
                     
                

                    
 
                     


                                                                

     


                                     

     
                     


                                
 
                     



                                                                                                     

                    
 
                      





                                                                

     


                                     

     
                     


                                
--- 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)
@@ -408,5 +404,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]

@@ -434,4 +430,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:
@@ -447,5 +452,2 @@
     101	SCOPE_ENTER value x4
-    101	JUMP 4
-
-  4:
     106	LOAD_LOCAL(value x4)
@@ -459,8 +461,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)
@@ -536,3 +535,3 @@
   startBlock: 1
-  blocks: [1,2,3,4,6,7,9,10]
+  blocks: [1,3,4,6,7,9,10,11,12,13]

@@ -565,4 +564,9 @@
     306	CALL_METHOD MyException.<init> (static-instance)
-    306	THROW(MyException)
+    ?	JUMP 11

+  11:
+    ?	LOAD_LOCAL(variable monitor4)
+    305	MONITOR_EXIT
+    ?	JUMP 12
+
   9:
@@ -571,3 +575,3 @@
     305	MONITOR_EXIT
-    ?	THROW(Throwable)
+    ?	JUMP 12

@@ -577,4 +581,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:
@@ -591,5 +602,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)
@@ -601,6 +621,6 @@
       with finalizer: null
-    catch (Throwable) in Vector(7, 9, 10) starting at: 6
+    catch (Throwable) in Vector(7, 9, 10, 11) starting at: 6
       consisting of blocks: List(6)
       with finalizer: null
-    catch (Throwable) in Vector(4, 6, 7, 9, 10) starting at: 3
+    catch (Throwable) in Vector(4, 6, 7, 9, 10, 11, 12) starting at: 3
       consisting of blocks: List(3)
@@ -636,3 +656,3 @@
   startBlock: 1
-  blocks: [1,3,4,5,6,8,9]
+  blocks: [1,3,4,5,6,8,9,10,11]

@@ -660,4 +680,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:
@@ -686,3 +712,4 @@
     81	LOAD_LOCAL(value e)
-    81	THROW(Exception)
+    ?	STORE_LOCAL(variable exc1)
+    ?	JUMP 11

@@ -703,2 +730,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)
+
   }
@@ -708,3 +748,3 @@
       with finalizer: null
-    catch (<none>) in Vector(4, 5, 6, 8) starting at: 3
+    catch (<none>) in Vector(4, 5, 6, 8, 10) starting at: 3
       consisting of blocks: List(3)
@@ -732,5 +772,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]

@@ -758,4 +798,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:
@@ -798,8 +845,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)
@@ -807,5 +851,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

@@ -813,3 +859,4 @@
     170	LOAD_LOCAL(value ex6)
-    170	THROW(Throwable)
+    ?	STORE_LOCAL(value ex6)
+    ?	JUMP 26

@@ -823,2 +870,8 @@

+  26:
+    169	LOAD_LOCAL(value ex6)
+    169	STORE_LOCAL(value x4)
+    169	SCOPE_ENTER value x4
+    169	JUMP 5
+
   5:
@@ -833,8 +886,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)
@@ -842,5 +892,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

@@ -848,3 +900,4 @@
     169	LOAD_LOCAL(value ex6)
-    169	THROW(Throwable)
+    ?	STORE_LOCAL(variable exc2)
+    ?	JUMP 27

@@ -865,2 +918,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)
+
   }
@@ -870,6 +936,6 @@
       with finalizer: null
-    catch (Throwable) in Vector(13, 14, 15, 18, 20, 21, 23) starting at: 4
+    catch (Throwable) in Vector(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 Vector(4, 5, 6, 9, 13, 14, 15, 18, 20, 21, 23) starting at: 3
+    catch (<none>) in Vector(4, 5, 6, 9, 13, 14, 15, 18, 20, 21, 23, 25, 26) starting at: 3
       consisting of blocks: List(3)
@@ -897,5 +963,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]

@@ -923,4 +989,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:
@@ -948,8 +1021,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)
@@ -982,3 +1052,3 @@
       with finalizer: null
-    catch (IllegalArgumentException) in Vector(6, 7, 8, 11, 13, 14, 16) starting at: 3
+    catch (IllegalArgumentException) in Vector(6, 7, 8, 11, 13, 14, 16, 17) starting at: 3
       consisting of blocks: List(3)
@@ -1006,5 +1076,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]

@@ -1032,4 +1102,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:
@@ -1053,5 +1132,2 @@
     145	SCOPE_ENTER value x4
-    145	JUMP 4
-
-  4:
     154	LOAD_LOCAL(value x4)
@@ -1065,8 +1141,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)
@@ -1287,3 +1360,3 @@
   startBlock: 1
-  blocks: [1,2,3,4,5,7]
+  blocks: [1,2,3,4,5,7,8]

@@ -1311,4 +1384,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:
@@ -1358,5 +1438,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]

@@ -1384,3 +1464,4 @@
     203	CALL_METHOD MyException.<init> (static-instance)
-    203	THROW(MyException)
+    ?	STORE_LOCAL(value ex6)
+    ?	JUMP 17

@@ -1404,4 +1485,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:
@@ -1417,5 +1507,2 @@
     200	SCOPE_ENTER value x4
-    200	JUMP 4
-
-  4:
     212	LOAD_LOCAL(value x4)
@@ -1429,8 +1516,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)
@@ -1478,3 +1562,3 @@
   startBlock: 1
-  blocks: [1,2,3,4,5,7]
+  blocks: [1,2,3,4,5,7,8]

@@ -1502,4 +1586,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:
@@ -1551,3 +1642,3 @@
   startBlock: 1
-  blocks: [1,3,4]
+  blocks: [1,3,4,5]

@@ -1571,4 +1662,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:
@@ -1577,3 +1673,3 @@
     228	MONITOR_EXIT
-    ?	THROW(Throwable)
+    228	THROW(Throwable)

@@ -1605,5 +1701,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]

@@ -1630,4 +1726,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:
@@ -1636,3 +1740,3 @@
     244	MONITOR_EXIT
-    ?	THROW(Throwable)
+    244	THROW(Throwable)