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 <any>}(java.lang.Object.<init>:()V catch) . <- v1:NffffLBlort; 9 next 0004 10 live out:{} 11block 0004 12 pred 0000 13 live in:{} 14 Blort.java:17@0004: goto . <- . 15 next 000b 16 live out:{} 17block 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:{} 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 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:{} 46block 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:{} 54block 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:{} 62block 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:{} 69block 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:{} 77block 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:{} 84block 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:{} 92block 0024 93 pred 0030 94 pred 0031 95 live in:{} 96 Blort.java:33@0011: goto . <- . 97 next 0011 98 live out:{} 99block 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:{} 107block 0027 108 pred 000f 109 pred 0012 110 live in:{} 111 Blort.java:33@0010: return-int . <- v0:I 112 returns 113 live out:{} 114block 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:{} 121block 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:{} 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 0000 151 pred 0002 152 live in:{} 153 Blort.java:41@0000: goto . <- . 154 next 0003 155 live out:{} 156block 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:{} 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 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:{} 185block 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:{} 193block 0009 194 pred 0026 195 live in:{} 196 @????: goto . <- . 197 next 000a 198 live out:{} 199block 000a 200 pred 0009 201 live in:{} 202 Blort.java:52@000a: goto . <- . 203 next 000e 204 live out:{} 205block 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:{} 212block 000e 213 pred 000a 214 pred 000d 215 live in:{} 216 Blort.java:53@000e: goto . <- . 217 next 001f 218 live out:{} 219block 001c 220 pred 0028 221 pred 0029 222 live in:{} 223 Blort.java:51@000d: goto . <- . 224 next 000d 225 live out:{} 226block 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:{} 233block 001f 234 pred 000e 235 live in:{} 236 Blort.java:53@000e: return-void . <- . 237 returns 238 live out:{} 239block 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:{} 246block 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:{} 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 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:{} 287block 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:{} 294block 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:{} 301block 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:{} 308block 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:{} 319block 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:{} 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