Home | History | Annotate | Download | only in 091-ssa-const-collector
      1 reading Blort.class...
      2 method <init> ()V
      3 first 000c
      4 block 000a
      5   pred 000c
      6   Blort.java:2@0000: move-param-object(0) v0:"this"NffffLBlort; <- .
      7   Blort.java:2@0000: goto . <- .
      8   next 0000
      9 block 0000
     10   pred 000a
     11   Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any
     12   >}(java.lang.Object.<init>:()V catch) . <- v0:NffffLBlort;
     13   next 000b
     14 block 000b
     15   pred 0000
     16   Blort.java:4@0004: return-void . <- .
     17   returns
     18 block 000c
     19   @????: goto . <- .
     20   next 000a
     21 
     22 method testNumeric ()V
     23 first 005e
     24 block 005c
     25   pred 005e
     26   Blort.java:10@0000: move-param-object(0) v4:"this"LBlort; <- .
     27   Blort.java:10@0000: goto . <- .
     28   next 0000
     29 block 0000
     30   pred 005c
     31   Blort.java:10@0000: const-int(10) v0:I=10 <- .
     32   @????: mark-local-int . <- v0:"foo"I
     33   Blort.java:12@0003: const-int(0) v1:I=0 <- .
     34   @????: mark-local-int . <- v1:"i"I
     35   Blort.java:12@0004: goto . <- .
     36   next 0005
     37 block 0005
     38   pred 0000
     39   pred 000b
     40   Blort.java:12@0008: if-ge-int . <- v1:I v3:I=10
     41   next 000b *
     42   next 0018
     43 block 000b
     44   pred 0005
     45   Blort.java:13@000f: mul-const-int(10) v2:I <- v1:I
     46   Blort.java:13@0010: add-int v0:I <- v0:I v2:I
     47   @????: mark-local-int . <- v0:"foo"I
     48   Blort.java:12@0012: add-const-int(1) v1:"i"I <- v1:I
     49   Blort.java:12@0015: goto . <- .
     50   next 0005
     51 block 0018
     52   pred 0005
     53   Blort.java:16@0018: const-int(0) v1:I=0 <- .
     54   @????: mark-local-int . <- v1:"i"I
     55   Blort.java:16@0019: goto . <- .
     56   next 001a
     57 block 001a
     58   pred 0018
     59   pred 0020
     60   Blort.java:16@001d: if-ge-int . <- v1:I v3:I=10
     61   next 0020 *
     62   next 005d
     63 block 0020
     64   pred 001a
     65   Blort.java:17@0024: add-const-int(10) v2:I <- v1:I
     66   Blort.java:17@0025: add-int v0:I <- v0:I v2:I
     67   @????: mark-local-int . <- v0:"foo"I
     68   Blort.java:16@0027: add-const-int(1) v1:"i"I <- v1:I
     69   Blort.java:16@002a: goto . <- .
     70   next 001a
     71 block 005d
     72   pred 001a
     73   Blort.java:19@002d: return-void . <- .
     74   returns
     75 block 005e
     76   @????: const-int(10) v3:I=10 <- .
     77   @????: goto . <- .
     78   next 005c
     79 
     80 method testStrings ()V
     81 first 0078
     82 block 0064
     83   pred 007b
     84   Blort.java:22@0000: move-param-object(0) v3:"this"LBlort; <- .
     85   Blort.java:22@0000: goto . <- .
     86   next 0000
     87 block 006b
     88   pred 0000
     89   Blort.java:22@0000: Rop{move-result-pseudo N0000Ljava/lang/StringBuilder; <- 
     90   . flows} v0:N0000Ljava/lang/StringBuilder; <- .
     91   Blort.java:22@0000: goto . <- .
     92   next 0003
     93 block 0000
     94   pred 0064
     95   Blort.java:22@0000: new-instance(java.lang.StringBuilder catch) . <- .
     96   next 006b
     97 block 0003
     98   pred 006b
     99   Blort.java:22@0004: Rop{invoke-direct . <- Ljava/lang/StringBuilder; call thr
    100   ows <any>}(java.lang.StringBuilder.<init>:()V catch) . <- v0:N0000Ljava/lang/
    101   StringBuilder;
    102   next 0007
    103 block 006c
    104   pred 0007
    105   Blort.java:24@0009: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
    106   Ljava/lang/String;="foo" <- .
    107   Blort.java:24@0009: goto . <- .
    108   next 000b
    109 block 0007
    110   pred 0003
    111   @????: mark-local-object . <- v0:"sb"Ljava/lang/StringBuilder;
    112   Blort.java:24@0009: const-object("foo" catch) . <- .
    113   next 006c
    114 block 000b
    115   pred 006c
    116   Blort.java:24@000b: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    117   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    118   ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
    119   ava/lang/String;="foo"
    120   next 000e
    121 block 006e
    122   pred 000e
    123   Blort.java:25@0010: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
    124   Ljava/lang/String;="foo" <- .
    125   Blort.java:25@0010: goto . <- .
    126   next 0012
    127 block 000e
    128   pred 000b
    129   Blort.java:25@0010: const-object("foo" catch) . <- .
    130   next 006e
    131 block 0012
    132   pred 006e
    133   Blort.java:25@0012: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    134   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    135   ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
    136   ava/lang/String;="foo"
    137   next 0015
    138 block 0070
    139   pred 0015
    140   Blort.java:26@0017: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
    141   Ljava/lang/String;="foo" <- .
    142   Blort.java:26@0017: goto . <- .
    143   next 0019
    144 block 0015
    145   pred 0012
    146   Blort.java:26@0017: const-object("foo" catch) . <- .
    147   next 0070
    148 block 0019
    149   pred 0070
    150   Blort.java:26@0019: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    151   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    152   ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
    153   ava/lang/String;="foo"
    154   next 001c
    155 block 0072
    156   pred 001c
    157   Blort.java:27@001e: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
    158   Ljava/lang/String;="foo" <- .
    159   Blort.java:27@001e: goto . <- .
    160   next 0020
    161 block 001c
    162   pred 0019
    163   Blort.java:27@001e: const-object("foo" catch) . <- .
    164   next 0072
    165 block 0020
    166   pred 0072
    167   Blort.java:27@0020: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    168   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    169   ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
    170   ava/lang/String;="foo"
    171   next 0023
    172 block 0074
    173   pred 0023
    174   Blort.java:28@0025: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
    175   Ljava/lang/String;="foo" <- .
    176   Blort.java:28@0025: goto . <- .
    177   next 0027
    178 block 0023
    179   pred 0020
    180   Blort.java:28@0025: const-object("foo" catch) . <- .
    181   next 0074
    182 block 0027
    183   pred 0074
    184   Blort.java:28@0027: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    185   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    186   ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
    187   ava/lang/String;="foo"
    188   next 002a
    189 block 0076
    190   pred 002a
    191   Blort.java:29@002c: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:
    192   Ljava/lang/String;="foo" <- .
    193   Blort.java:29@002c: goto . <- .
    194   next 002e
    195 block 002a
    196   pred 0027
    197   Blort.java:29@002c: const-object("foo" catch) . <- .
    198   next 0076
    199 block 002e
    200   pred 0076
    201   Blort.java:29@002e: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    202   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    203   ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj
    204   ava/lang/String;="foo"
    205   next 0065
    206 block 0065
    207   pred 002e
    208   Blort.java:30@0032: return-void . <- .
    209   returns
    210 block 0078
    211   @????: goto . <- .
    212   next 007a
    213 block 007a
    214   pred 0078
    215   @????: const-object("foo" catch) . <- .
    216   next 007b
    217 block 007b
    218   pred 007a
    219   @????: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:Ljava/lang/St
    220   ring;="foo" <- .
    221   @????: goto . <- .
    222   next 0064
    223 
    224 method testCaughtStrings ()V
    225 first 0094
    226 block 007e
    227   pred 009e
    228   Blort.java:33@0000: move-param-object(0) v5:"this"LBlort; <- .
    229   Blort.java:33@0000: goto . <- .
    230   next 0000
    231 block 0085
    232   pred 0000
    233   Blort.java:33@0000: Rop{move-result-pseudo N0000Ljava/lang/StringBuilder; <- 
    234   . flows} v0:N0000Ljava/lang/StringBuilder; <- .
    235   Blort.java:33@0000: goto . <- .
    236   next 0003
    237 block 0000
    238   pred 007e
    239   Blort.java:33@0000: new-instance(java.lang.StringBuilder catch) . <- .
    240   next 0085
    241 block 0003
    242   pred 0085
    243   Blort.java:33@0004: Rop{invoke-direct . <- Ljava/lang/StringBuilder; call thr
    244   ows <any>}(java.lang.StringBuilder.<init>:()V catch) . <- v0:N0000Ljava/lang/
    245   StringBuilder;
    246   next 0007
    247 block 0086
    248   pred 0007
    249   Blort.java:35@0009: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
    250   Ljava/lang/String;="foo" <- .
    251   Blort.java:35@0009: goto . <- .
    252   next 000b
    253 block 0007
    254   pred 0003
    255   @????: mark-local-object . <- v0:"sb"Ljava/lang/StringBuilder;
    256   Blort.java:35@0009: const-object("foo" catch) . <- .
    257   next 0086
    258 block 000b
    259   pred 0086
    260   Blort.java:35@000b: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    261   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    262   ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v4:Lj
    263   ava/lang/String;="foo"
    264   next 000e
    265 block 0088
    266   pred 000e
    267   Blort.java:36@0010: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
    268   Ljava/lang/String;="foo" <- .
    269   Blort.java:36@0010: goto . <- .
    270   next 0012
    271 block 000e
    272   pred 000b
    273   Blort.java:36@0010: const-object("foo" catch) . <- .
    274   next 0088
    275 block 0012
    276   pred 0088
    277   Blort.java:36@0012: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    278   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    279   ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v4:Lj
    280   ava/lang/String;="foo"
    281   next 0015
    282 block 008a
    283   pred 0015
    284   Blort.java:37@0017: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
    285   Ljava/lang/String;="foo" <- .
    286   Blort.java:37@0017: goto . <- .
    287   next 0019
    288 block 0015
    289   pred 0012
    290   Blort.java:37@0017: const-object("foo" catch) . <- .
    291   next 008a
    292 block 0019
    293   pred 008a
    294   Blort.java:37@0019: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    295   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    296   ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v4:Lj
    297   ava/lang/String;="foo"
    298   next 001d
    299 block 008c
    300   pred 001d
    301   Blort.java:39@001e: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
    302   Ljava/lang/String;="foo" <- .
    303   Blort.java:39@001e: goto . <- .
    304   next 0020
    305 block 001d
    306   pred 0019
    307   Blort.java:39@001e: const-object("foo" catch java.lang.Throwable) . <- .
    308   next 0095
    309   next 008c *
    310 block 0020
    311   pred 008c
    312   Blort.java:39@0020: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    313   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    314   ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/
    315   StringBuilder; v2:Ljava/lang/String;="foo"
    316   next 0095
    317   next 0023 *
    318 block 008e
    319   pred 0023
    320   Blort.java:40@0025: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
    321   Ljava/lang/String;="foo" <- .
    322   Blort.java:40@0025: goto . <- .
    323   next 0027
    324 block 0023
    325   pred 0020
    326   Blort.java:40@0025: const-object("foo" catch java.lang.Throwable) . <- .
    327   next 0095
    328   next 008e *
    329 block 0027
    330   pred 008e
    331   Blort.java:40@0027: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    332   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    333   ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/
    334   StringBuilder; v2:Ljava/lang/String;="foo"
    335   next 0095
    336   next 002a *
    337 block 0090
    338   pred 002a
    339   Blort.java:41@002c: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
    340   Ljava/lang/String;="foo" <- .
    341   Blort.java:41@002c: goto . <- .
    342   next 002e
    343 block 002a
    344   pred 0027
    345   Blort.java:41@002c: const-object("foo" catch java.lang.Throwable) . <- .
    346   next 0095
    347   next 0090 *
    348 block 002e
    349   pred 0090
    350   Blort.java:41@002e: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l
    351   ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str
    352   ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/
    353   StringBuilder; v2:Ljava/lang/String;="foo"
    354   next 0095
    355   next 007f *
    356 block 0092
    357   pred 0035
    358   Blort.java:43@0036: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} 
    359   v2:Ljava/io/PrintStream; <- .
    360   Blort.java:43@0036: goto . <- .
    361   next 0039
    362 block 0035
    363   pred 0095
    364   @????: mark-local-object . <- v1:"tr"Ljava/lang/Throwable;
    365   Blort.java:43@0036: get-static-object(java.lang.System.out:Ljava/io/PrintStre
    366   am; catch) . <- .
    367   next 0092
    368 block 0093
    369   pred 0039
    370   Blort.java:43@0039: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v3:
    371   Ljava/lang/String;="foo" <- .
    372   Blort.java:43@0039: goto . <- .
    373   next 003b
    374 block 0039
    375   pred 0092
    376   Blort.java:43@0039: const-object("foo" catch) . <- .
    377   next 0093
    378 block 003b
    379   pred 0093
    380   Blort.java:43@003b: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/
    381   String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V 
    382   catch) . <- v2:Ljava/io/PrintStream; v4:Ljava/lang/String;="foo"
    383   next 007f
    384 block 007f
    385   pred 002e
    386   pred 003b
    387   Blort.java:45@003e: return-void . <- .
    388   returns
    389 block 0094
    390   @????: goto . <- .
    391   next 009d
    392 block 0095
    393   pred 001d
    394   pred 0020
    395   pred 0023
    396   pred 0027
    397   pred 002a
    398   pred 002e
    399   Blort.java:42@0035: Rop{move-exception Ljava/lang/Throwable; <- . flows} v2:L
    400   java/lang/Throwable; <- .
    401   @????: move-object v1:Ljava/lang/Throwable; <- v2:Ljava/lang/Throwable;
    402   @????: goto . <- .
    403   next 0035
    404 block 009d
    405   pred 0094
    406   @????: const-object("foo" catch) . <- .
    407   next 009e
    408 block 009e
    409   pred 009d
    410   @????: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v4:Ljava/lang/St
    411   ring;="foo" <- .
    412   @????: goto . <- .
    413   next 007e
    414 
    415 method testLocalVars ()V
    416 first 0004
    417 block 0002
    418   pred 0004
    419   Blort.java:49@0000: move-param-object(0) v6:"this"LBlort; <- .
    420   Blort.java:49@0000: goto . <- .
    421   next 0000
    422 block 0000
    423   pred 0002
    424   Blort.java:49@0000: const-int(10) v3:I=10 <- .
    425   @????: mark-local-int . <- v3:"i"I
    426   Blort.java:50@0003: const-int(10) v4:I=10 <- .
    427   @????: mark-local-int . <- v4:"j"I
    428   Blort.java:51@0006: const-int(10) v5:I=10 <- .
    429   @????: mark-local-int . <- v5:"k"I
    430   Blort.java:52@0009: const-int(10) v0:I=10 <- .
    431   @????: mark-local-int . <- v0:"a"I
    432   Blort.java:53@000d: const-int(10) v1:I=10 <- .
    433   @????: mark-local-int . <- v1:"b"I
    434   Blort.java:54@0011: const-int(10) v2:I=10 <- .
    435   @????: mark-local-int . <- v2:"c"I
    436   Blort.java:56@0018: mul-const-int(10) v3:I <- v3:I
    437   @????: mark-local-int . <- v3:"i"I=100
    438   Blort.java:57@001a: goto . <- .
    439   next 0003
    440 block 0003
    441   pred 0000
    442   Blort.java:57@001a: return-void . <- .
    443   returns
    444 block 0004
    445   @????: goto . <- .
    446   next 0002
    447 
    448 method testNull (Ljava/lang/Object;)V
    449 first 0021
    450 block 0018
    451   pred 0021
    452   Blort.java:60@0000: move-param-object(0) v1:"this"LBlort; <- .
    453   Blort.java:60@0000: move-param-object(1) v2:"a"Ljava/lang/Object; <- .
    454   Blort.java:60@0000: goto . <- .
    455   next 0000
    456 block 0000
    457   pred 0018
    458   Blort.java:60@0002: Rop{invoke-virtual . <- Ljava/lang/Object; Ljava/lang/Obj
    459   ect; call throws <any>}(java.lang.Object.equals:(Ljava/lang/Object;)Z catch) 
    460   . <- v2:Ljava/lang/Object; v0:<null>=null
    461   next 0005
    462 block 0005
    463   pred 0000
    464   Blort.java:61@0008: Rop{invoke-virtual . <- Ljava/lang/Object; Ljava/lang/Obj
    465   ect; call throws <any>}(java.lang.Object.equals:(Ljava/lang/Object;)Z catch) 
    466   . <- v2:Ljava/lang/Object; v0:<null>=null
    467   next 0019
    468 block 0019
    469   pred 0005
    470   Blort.java:63@000c: return-void . <- .
    471   returns
    472 block 0021
    473   @????: const-object-nothrow(null) v0:<null>=null <- .
    474   @????: goto . <- .
    475   next 0018
    476