Home | History | Annotate | Download | only in 086-ssa-edge-split
      1 reading Blort.class...
      2 method <init> ()V
      3 first 000c
      4 block 0000
      5   pred 000a
      6   live in:{}
      7   Blort.java:17@0000: move-object v1:NffffLBlort; <- v0:NffffLBlort;
      8   Blort.java:17@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any>}(java.lang.Object.<init>:()V catch) . <- v1:NffffLBlort;
      9   next 0004
     10   live out:{}
     11 block 0004
     12   pred 0000
     13   live in:{}
     14   Blort.java:17@0004: goto . <- .
     15   next 000b
     16   live out:{}
     17 block 000a
     18   pred 000c
     19   live in:{}
     20   Blort.java:17@0000: move-param-object(0) v0:NffffLBlort; <- .
     21   Blort.java:17@0000: goto . <- .
     22   next 0000
     23   live out:{}
     24 block 000b
     25   pred 0004
     26   live in:{}
     27   Blort.java:17@0004: return-void . <- .
     28   returns
     29   live out:{}
     30 block 000c
     31   live in:{}
     32   @????: goto . <- .
     33   next 000a
     34   live out:{}
     35 
     36 method edgeSplitPredTest (I)I
     37 first 002f
     38 block 0000
     39   pred 0026
     40   live in:{}
     41   Blort.java:26@0000: const-int(1) v4:I=1 <- .
     42   Blort.java:26@0001: move-int v2:I=1 <- v4:I=1
     43   Blort.java:26@0001: goto . <- .
     44   next 0002
     45   live out:{}
     46 block 0002
     47   pred 0000
     48   live in:{}
     49   Blort.java:29@0002: move-int v4:I <- v1:I
     50   Blort.java:29@0003: Rop{invoke-static . <- I call throws <any>}(java.lang.Integer.toString:(I)Ljava/lang/String; catch java.lang.Object) . <- v4:I
     51   next 0030
     52   next 002d *
     53   live out:{}
     54 block 0006
     55   pred 002d
     56   live in:{}
     57   Blort.java:30@0007: move-int v4:I <- v1:I
     58   Blort.java:30@0008: Rop{invoke-static . <- I call throws <any>}(java.lang.Integer.toString:(I)Ljava/lang/String; catch java.lang.Object) . <- v4:I
     59   next 0031
     60   next 002e *
     61   live out:{}
     62 block 000b
     63   pred 002e
     64   live in:{}
     65   Blort.java:31@000c: add-const-int(1) v2:I <- v2:I
     66   Blort.java:31@000c: goto . <- .
     67   next 000f
     68   live out:{}
     69 block 000f
     70   pred 000b
     71   live in:{}
     72   Blort.java:33@000f: move-int v4:I <- v2:I
     73   Blort.java:33@0010: move-int v0:I <- v4:I
     74   Blort.java:33@0010: goto . <- .
     75   next 0027
     76   live out:{}
     77 block 0011
     78   pred 0024
     79   live in:{}
     80   Blort.java:33@0011: move-object v3:Ljava/lang/Class;=java.lang.Object <- v4:Ljava/lang/Class;=java.lang.Object
     81   Blort.java:33@0011: goto . <- .
     82   next 0012
     83   live out:{}
     84 block 0012
     85   pred 0011
     86   live in:{}
     87   Blort.java:33@0012: move-int v4:I <- v2:I
     88   Blort.java:33@0013: move-int v0:I <- v4:I
     89   Blort.java:33@0013: goto . <- .
     90   next 0027
     91   live out:{}
     92 block 0024
     93   pred 0030
     94   pred 0031
     95   live in:{}
     96   Blort.java:33@0011: goto . <- .
     97   next 0011
     98   live out:{}
     99 block 0026
    100   pred 002f
    101   live in:{}
    102   Blort.java:26@0000: move-param-object(0) v0:LBlort; <- .
    103   Blort.java:26@0000: move-param-int(1) v1:I <- .
    104   Blort.java:26@0000: goto . <- .
    105   next 0000
    106   live out:{}
    107 block 0027
    108   pred 000f
    109   pred 0012
    110   live in:{}
    111   Blort.java:33@0010: return-int . <- v0:I
    112   returns
    113   live out:{}
    114 block 002d
    115   pred 0002
    116   live in:{}
    117   Blort.java:29@0003: Rop{move-result Ljava/lang/String; <- . flows} v4:Ljava/lang/String; <- .
    118   Blort.java:29@0003: goto . <- .
    119   next 0006
    120   live out:{}
    121 block 002e
    122   pred 0006
    123   live in:{}
    124   Blort.java:30@0008: Rop{move-result Ljava/lang/String; <- . flows} v4:Ljava/lang/String; <- .
    125   Blort.java:30@0008: goto . <- .
    126   next 000b
    127   live out:{}
    128 block 002f
    129   live in:{}
    130   @????: goto . <- .
    131   next 0026
    132   live out:{}
    133 block 0030
    134   pred 0002
    135   live in:{}
    136   Blort.java:33@0011: Rop{move-exception Ljava/lang/Object; <- . flows} v4:Ljava/lang/Object; <- .
    137   @????: goto . <- .
    138   next 0024
    139   live out:{}
    140 block 0031
    141   pred 0006
    142   live in:{}
    143   Blort.java:33@0011: Rop{move-exception Ljava/lang/Object; <- . flows} v4:Ljava/lang/Object; <- .
    144   @????: goto . <- .
    145   next 0024
    146   live out:{}
    147 
    148 method voidFunction ()V
    149 first 0004
    150 block 0000
    151   pred 0002
    152   live in:{}
    153   Blort.java:41@0000: goto . <- .
    154   next 0003
    155   live out:{}
    156 block 0002
    157   pred 0004
    158   live in:{}
    159   Blort.java:41@0000: move-param-object(0) v0:LBlort; <- .
    160   Blort.java:41@0000: goto . <- .
    161   next 0000
    162   live out:{}
    163 block 0003
    164   pred 0000
    165   live in:{}
    166   Blort.java:41@0000: return-void . <- .
    167   returns
    168   live out:{}
    169 block 0004
    170   live in:{}
    171   @????: goto . <- .
    172   next 0002
    173   live out:{}
    174 
    175 method edgeSplitMoveException ()V
    176 first 0027
    177 block 0000
    178   pred 001e
    179   live in:{}
    180   Blort.java:49@0000: move-object v2:LBlort; <- v0:LBlort;
    181   Blort.java:49@0001: Rop{invoke-virtual . <- Ljava/lang/Object; call throws <any>}(java.lang.Object.hashCode:()I catch java.lang.Throwable) . <- v2:LBlort;
    182   next 0028
    183   next 0025 *
    184   live out:{}
    185 block 0004
    186   pred 0025
    187   live in:{}
    188   Blort.java:50@0005: move-object v2:LBlort; <- v0:LBlort;
    189   Blort.java:50@0006: Rop{invoke-virtual . <- Ljava/lang/Object; call throws <any>}(java.lang.Object.hashCode:()I catch java.lang.Throwable) . <- v2:LBlort;
    190   next 0029
    191   next 0026 *
    192   live out:{}
    193 block 0009
    194   pred 0026
    195   live in:{}
    196   @????: goto . <- .
    197   next 000a
    198   live out:{}
    199 block 000a
    200   pred 0009
    201   live in:{}
    202   Blort.java:52@000a: goto . <- .
    203   next 000e
    204   live out:{}
    205 block 000d
    206   pred 001c
    207   live in:{}
    208   Blort.java:51@000d: move-object v1:Ljava/lang/Class;=java.lang.Throwable <- v2:Ljava/lang/Class;=java.lang.Throwable
    209   Blort.java:51@000d: goto . <- .
    210   next 000e
    211   live out:{}
    212 block 000e
    213   pred 000a
    214   pred 000d
    215   live in:{}
    216   Blort.java:53@000e: goto . <- .
    217   next 001f
    218   live out:{}
    219 block 001c
    220   pred 0028
    221   pred 0029
    222   live in:{}
    223   Blort.java:51@000d: goto . <- .
    224   next 000d
    225   live out:{}
    226 block 001e
    227   pred 0027
    228   live in:{}
    229   Blort.java:49@0000: move-param-object(0) v0:LBlort; <- .
    230   Blort.java:49@0000: goto . <- .
    231   next 0000
    232   live out:{}
    233 block 001f
    234   pred 000e
    235   live in:{}
    236   Blort.java:53@000e: return-void . <- .
    237   returns
    238   live out:{}
    239 block 0025
    240   pred 0000
    241   live in:{}
    242   Blort.java:49@0001: Rop{move-result I <- . flows} v2:I <- .
    243   Blort.java:49@0001: goto . <- .
    244   next 0004
    245   live out:{}
    246 block 0026
    247   pred 0004
    248   live in:{}
    249   Blort.java:50@0006: Rop{move-result I <- . flows} v2:I <- .
    250   Blort.java:50@0006: goto . <- .
    251   next 0009
    252   live out:{}
    253 block 0027
    254   live in:{}
    255   @????: goto . <- .
    256   next 001e
    257   live out:{}
    258 block 0028
    259   pred 0000
    260   live in:{}
    261   Blort.java:51@000d: Rop{move-exception Ljava/lang/Throwable; <- . flows} v2:Ljava/lang/Throwable; <- .
    262   @????: goto . <- .
    263   next 001c
    264   live out:{}
    265 block 0029
    266   pred 0004
    267   live in:{}
    268   Blort.java:51@000d: Rop{move-exception Ljava/lang/Throwable; <- . flows} v2:Ljava/lang/Throwable; <- .
    269   @????: goto . <- .
    270   next 001c
    271   live out:{}
    272 
    273 method edgeSplitSuccessor (I)I
    274 first 005a
    275 block 0000
    276   pred 0058
    277   live in:{}
    278   Blort.java:62@0000: const-int(0) v3:I=0 <- .
    279   Blort.java:62@0001: move-int v2:I=0 <- v3:I=0
    280   Blort.java:64@0002: move-int v3:I <- v1:I
    281   Blort.java:64@0003: switch({1, 2, 3}) . <- v3:I
    282   next 001c
    283   next 0022
    284   next 0028
    285   next 005b *
    286   live out:{}
    287 block 001c
    288   pred 0000
    289   live in:{}
    290   Blort.java:65@001c: add-const-int(1) v2:I <- v2:I
    291   Blort.java:66@001f: goto . <- .
    292   next 002b
    293   live out:{}
    294 block 0022
    295   pred 0000
    296   live in:{}
    297   Blort.java:67@0022: add-const-int(1) v2:I <- v2:I
    298   Blort.java:68@0025: goto . <- .
    299   next 002b
    300   live out:{}
    301 block 0028
    302   pred 0000
    303   live in:{}
    304   Blort.java:69@0028: add-const-int(1) v2:I <- v2:I
    305   Blort.java:69@0028: goto . <- .
    306   next 002b
    307   live out:{}
    308 block 002b
    309   pred 001c
    310   pred 0022
    311   pred 0028
    312   pred 005b
    313   live in:{}
    314   Blort.java:72@002b: move-int v3:I <- v2:I
    315   Blort.java:72@002c: move-int v0:I <- v3:I
    316   Blort.java:72@002c: goto . <- .
    317   next 0059
    318   live out:{}
    319 block 0058
    320   pred 005a
    321   live in:{}
    322   Blort.java:62@0000: move-param-object(0) v0:LBlort; <- .
    323   Blort.java:62@0000: move-param-int(1) v1:I <- .
    324   Blort.java:62@0000: goto . <- .
    325   next 0000
    326   live out:{}
    327 block 0059
    328   pred 002b
    329   live in:{}
    330   Blort.java:72@002c: return-int . <- v0:I
    331   returns
    332   live out:{}
    333 block 005a
    334   live in:{}
    335   @????: goto . <- .
    336   next 0058
    337   live out:{}
    338 block 005b
    339   pred 0000
    340   live in:{}
    341   @????: goto . <- .
    342   next 002b
    343   live out:{}
    344