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