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