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