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