1reading Blort.class... 2method <init> ()V 3first 000c 4block 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:{} 12block 0004 13 pred 0000 14 live in:{} 15 Blort.java:17@0004: goto . <- . 16 next 000b 17 live out:{} 18block 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:{} 25block 000b 26 pred 0004 27 live in:{} 28 Blort.java:17@0004: return-void . <- . 29 returns 30 live out:{} 31block 000c 32 live in:{} 33 @????: goto . <- . 34 next 000a 35 live out:{} 36 37method phiTest ()I 38first 0048 39block 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:{} 51block 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:{} 60block 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:{} 69block 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:{} 78block 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:{} 87block 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:{} 95block 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:{} 102block 0047 103 pred 0022 104 live in:{} 105 Blort.java:35@0023: return-int . <- v0:I 106 returns 107 live out:{} 108block 0048 109 live in:{} 110 @????: goto . <- . 111 next 0046 112 live out:{} 113block 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 126method noVars ()V 127first 0004 128block 0000 129 pred 0002 130 live in:{} 131 Blort.java:42@0000: goto . <- . 132 next 0003 133 live out:{} 134block 0002 135 pred 0004 136 live in:{} 137 Blort.java:42@0000: goto . <- . 138 next 0000 139 live out:{} 140block 0003 141 pred 0000 142 live in:{} 143 Blort.java:42@0000: return-void . <- . 144 returns 145 live out:{} 146block 0004 147 live in:{} 148 @????: goto . <- . 149 next 0002 150 live out:{} 151 152method getOption (I)Ljava/lang/Object; 153first 0098 154block 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:{} 162block 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:{} 169block 0007 170 pred 0004 171 live in:{} 172 Blort.java:52@0007: new-instance(java.lang.RuntimeException catch) . <- . 173 next 0094 174 live out:{} 175block 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:{} 187block 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:{} 196block 0010 197 pred 000d 198 live in:{} 199 Blort.java:52@0010: throw(catch) . <- v3:Ljava/lang/RuntimeException; 200 returns 201 live out:{} 202block 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:{} 213block 0030 214 pred 0011 215 live in:{} 216 Blort.java:60@0030: new-instance(java.lang.Integer catch) . <- . 217 next 0096 218 live out:{} 219block 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:{} 234block 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:{} 242block 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:{} 250block 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:{} 257block 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:{} 264block 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:{} 273block 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:{} 281block 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:{} 289block 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:{} 301block 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:{} 309block 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:{} 317block 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:{} 325block 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:{} 333block 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:{} 341block 0098 342 live in:{} 343 @????: goto . <- . 344 next 008c 345 live out:{} 346