1 reading Blort.class... 2 method <init> ()V 3 first 000c 4 block 0000 5 pred 000a 6 live in:{2} 7 Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any 8 >}(java.lang.Object.<init>:()V catch) . <- v2:NffffLBlort; 9 next 0004 10 live out:{} 11 block 0004 12 pred 0000 13 live in:{} 14 Blort.java:2@0004: goto . <- . 15 next 000b 16 live out:{} 17 block 000a 18 pred 000c 19 live in:{} 20 Blort.java:2@0000: move-param-object(0) v2:"this"NffffLBlort; <- . 21 Blort.java:2@0000: goto . <- . 22 next 0000 23 live out:{2} 24 block 000b 25 pred 0004 26 live in:{} 27 Blort.java:2@0004: return-void . <- . 28 next 000d 29 live out:{} 30 block 000c 31 live in:{} 32 @????: goto . <- . 33 next 000a 34 live out:{} 35 block 000d 36 pred 000b 37 live in:{} 38 returns 39 live out:{} 40 41 method arrayCopyTest (I)V 42 first 012c 43 block 0000 44 pred 0112 45 live in:{12, 62, 63} 46 Blort.java:5@0001: move-int v13:"j"I <- v12:I 47 Blort.java:7@0004: new-array-object(java.lang.String[] catch) . <- v63:I=8 48 next 0119 49 live out:{62, 63} 50 block 0007 51 pred 0119 52 live in:{15, 62, 63} 53 @????: mark-local-object . <- v15:"stringArray"[Ljava/lang/String; 54 Blort.java:8@000a: new-array-object(java.lang.Object[] catch) . <- v63:I=8 55 next 011a 56 live out:{15, 62} 57 block 000d 58 pred 011a 59 live in:{15, 17, 62} 60 @????: mark-local-object . <- v17:"objectArray"[Ljava/lang/Object; 61 Blort.java:10@000f: move-object v18:"anotherOne"[Ljava/lang/Object; <- v17:[L 62 java/lang/Object; 63 Blort.java:12@0013: if-eqz-object . <- v18:[Ljava/lang/Object; 64 next 0016 * 65 next 0131 66 live out:{15, 17, 62} 67 block 0016 68 pred 000d 69 live in:{15, 17, 62} 70 Blort.java:13@0016: get-static-object(java.lang.System.out:Ljava/io/PrintStre 71 am; catch) . <- . 72 next 011b 73 live out:{15, 17, 62} 74 block 0019 75 pred 011b 76 live in:{15, 17, 19, 62} 77 Blort.java:13@0019: const-object("foo" catch) . <- . 78 next 011c 79 live out:{15, 17, 19, 62} 80 block 001b 81 pred 011c 82 live in:{15, 17, 19, 20, 62} 83 Blort.java:13@001b: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ 84 String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V 85 catch) . <- v19:Ljava/io/PrintStream; v20:Ljava/lang/String;="foo" 86 next 0130 87 live out:{15, 17, 62} 88 block 001e 89 pred 0130 90 pred 0131 91 live in:{15, 17, 62} 92 Blort.java:17@001e: const-int(0) v23:I=0 <- . 93 @????: mark-local-int . <- v23:"i"I 94 Blort.java:17@001f: goto . <- . 95 next 0021 96 live out:{15, 17, 23, 62} 97 block 0021 98 pred 001e 99 pred 0038 100 live in:{15, 17, 62} 101 @????: phi v30:"i"I <- v23:"i"I[b=001e] v34:"i"I[b=0038] 102 Blort.java:17@0024: array-length(catch) . <- v15:[Ljava/lang/String; 103 next 011d 104 live out:{15, 17, 30, 62} 105 block 0025 106 pred 011d 107 live in:{15, 17, 30, 31, 62} 108 Blort.java:17@0025: if-ge-int . <- v30:I v31:I 109 next 0028 * 110 next 003e 111 live out:{15, 17, 30, 62} 112 block 0028 113 pred 0025 114 live in:{15, 17, 30, 62} 115 Blort.java:18@002b: new-instance(java.lang.String catch) . <- . 116 next 011e 117 live out:{15, 17, 30, 62} 118 block 002e 119 pred 011e 120 live in:{15, 17, 30, 32, 62} 121 Blort.java:18@0031: Rop{invoke-static . <- I call throws <any>}(java.lang.Int 122 eger.toString:(I)Ljava/lang/String; catch) . <- v30:I 123 next 011f 124 live out:{15, 17, 30, 32, 62} 125 block 0034 126 pred 011f 127 live in:{15, 17, 30, 32, 33, 62} 128 Blort.java:18@0034: Rop{invoke-direct . <- Ljava/lang/String; Ljava/lang/Stri 129 ng; call throws <any>}(java.lang.String.<init>:(Ljava/lang/String;)V catch) . 130 <- v32:N002bLjava/lang/String; v33:Ljava/lang/String; 131 next 0037 132 live out:{15, 17, 30, 32, 62} 133 block 0037 134 pred 0034 135 live in:{15, 17, 30, 32, 62} 136 Blort.java:18@0037: aput-object(catch) . <- v32:Ljava/lang/String; v15:[Ljava 137 /lang/String; v30:I 138 next 0038 139 live out:{15, 17, 30, 62} 140 block 0038 141 pred 0037 142 live in:{15, 17, 30, 62} 143 Blort.java:17@0038: add-const-int(1) v34:"i"I <- v30:I 144 Blort.java:17@003b: goto . <- . 145 next 0021 146 live out:{15, 17, 34, 62} 147 block 003e 148 pred 0025 149 live in:{15, 17, 62} 150 Blort.java:20@003e: get-static-object(java.lang.System.out:Ljava/io/PrintStre 151 am; catch) . <- . 152 next 0120 153 live out:{15, 17, 62} 154 block 0041 155 pred 0120 156 live in:{15, 17, 35, 62} 157 Blort.java:20@0041: const-object("string -> object" catch) . <- . 158 next 0121 159 live out:{15, 17, 35, 62} 160 block 0043 161 pred 0121 162 live in:{15, 17, 35, 36, 62} 163 Blort.java:20@0043: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ 164 String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V 165 catch) . <- v35:Ljava/io/PrintStream; v36:Ljava/lang/String;="string -> objec 166 t" 167 next 0046 168 live out:{15, 17, 62} 169 block 0046 170 pred 0043 171 live in:{15, 17, 62} 172 Blort.java:21@004b: array-length(catch) . <- v15:[Ljava/lang/String; 173 next 0122 174 live out:{15, 17, 62} 175 block 004c 176 pred 0122 177 live in:{15, 17, 39, 62} 178 Blort.java:21@004c: Rop{invoke-static . <- Ljava/lang/Object; I Ljava/lang/Ob 179 ject; I I call throws <any>}(java.lang.System.arraycopy:(Ljava/lang/Object;IL 180 java/lang/Object;II)V catch) . <- v15:[Ljava/lang/String; v62:I=0 v17:[Ljava/ 181 lang/Object; v62:I=0 v39:I 182 next 004f 183 live out:{15, 17, 62} 184 block 004f 185 pred 004c 186 live in:{15, 17, 62} 187 Blort.java:22@004f: get-static-object(java.lang.System.out:Ljava/io/PrintStre 188 am; catch) . <- . 189 next 0123 190 live out:{15, 17, 62} 191 block 0052 192 pred 0123 193 live in:{15, 17, 40, 62} 194 Blort.java:22@0052: const-object("object -> string" catch) . <- . 195 next 0124 196 live out:{15, 17, 40, 62} 197 block 0054 198 pred 0124 199 live in:{15, 17, 40, 41, 62} 200 Blort.java:22@0054: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ 201 String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V 202 catch) . <- v40:Ljava/io/PrintStream; v41:Ljava/lang/String;="object -> strin 203 g" 204 next 0057 205 live out:{15, 17, 62} 206 block 0057 207 pred 0054 208 live in:{15, 17, 62} 209 Blort.java:23@005c: array-length(catch) . <- v15:[Ljava/lang/String; 210 next 0125 211 live out:{15, 17, 62} 212 block 005d 213 pred 0125 214 live in:{15, 17, 44, 62} 215 Blort.java:23@005d: Rop{invoke-static . <- Ljava/lang/Object; I Ljava/lang/Ob 216 ject; I I call throws <any>}(java.lang.System.arraycopy:(Ljava/lang/Object;IL 217 java/lang/Object;II)V catch) . <- v17:[Ljava/lang/Object; v62:I=0 v15:[Ljava/ 218 lang/String; v62:I=0 v44:I 219 next 0060 220 live out:{15, 17} 221 block 0060 222 pred 005d 223 live in:{15, 17} 224 Blort.java:24@0060: get-static-object(java.lang.System.out:Ljava/io/PrintStre 225 am; catch) . <- . 226 next 0126 227 live out:{15, 17} 228 block 0063 229 pred 0126 230 live in:{15, 17, 45} 231 Blort.java:24@0063: const-object("object -> string (modified)" catch) . <- . 232 next 0127 233 live out:{15, 17, 45} 234 block 0065 235 pred 0127 236 live in:{15, 17, 45, 46} 237 Blort.java:24@0065: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ 238 String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V 239 catch) . <- v45:Ljava/io/PrintStream; v46:Ljava/lang/String;="object -> strin 240 g (modified)" 241 next 0068 242 live out:{15, 17} 243 block 0068 244 pred 0065 245 live in:{15, 17} 246 Blort.java:25@0069: const-int(4) v47:I=4 <- . 247 Blort.java:25@006a: new-instance(java.lang.Object catch) . <- . 248 next 0128 249 live out:{15, 17, 47} 250 block 006d 251 pred 0128 252 live in:{15, 17, 47, 48} 253 Blort.java:25@006e: Rop{invoke-direct . <- Ljava/lang/Object; call throws <an 254 y>}(java.lang.Object.<init>:()V catch) . <- v48:N006aLjava/lang/Object; 255 next 0071 256 live out:{15, 17, 47, 48} 257 block 0071 258 pred 006d 259 live in:{15, 17, 47, 48} 260 Blort.java:25@0071: aput-object(catch) . <- v48:Ljava/lang/Object; v17:[Ljava 261 /lang/Object; v47:I=4 262 next 0072 263 live out:{15, 17} 264 block 0072 265 pred 0071 266 live in:{15, 17} 267 Blort.java:27@0073: const-int(0) v49:I=0 <- . 268 Blort.java:27@0075: const-int(0) v50:I=0 <- . 269 Blort.java:27@0077: array-length(catch java.lang.ArrayStoreException) . <- v1 270 5:[Ljava/lang/String; 271 next 012d 272 next 0129 * 273 live out:{15, 17, 49, 50} 274 block 0078 275 pred 0129 276 live in:{15, 17, 49, 50, 51} 277 Blort.java:27@0078: Rop{invoke-static . <- Ljava/lang/Object; I Ljava/lang/Ob 278 ject; I I call throws <any>}(java.lang.System.arraycopy:(Ljava/lang/Object;IL 279 java/lang/Object;II)V catch java.lang.ArrayStoreException) . <- v17:[Ljava/la 280 ng/Object; v49:I=0 v15:[Ljava/lang/String; v50:I=0 v51:I 281 next 012e 282 next 007b * 283 live out:{} 284 block 007b 285 pred 0078 286 live in:{} 287 Blort.java:31@007b: goto . <- . 288 next 0088 289 live out:{} 290 block 007e 291 pred 0107 292 live in:{58} 293 @????: mark-local-object . <- v58:"ase"Ljava/lang/ArrayStoreException; 294 Blort.java:30@0080: get-static-object(java.lang.System.out:Ljava/io/PrintStre 295 am; catch) . <- . 296 next 012a 297 live out:{} 298 block 0083 299 pred 012a 300 live in:{59} 301 Blort.java:30@0083: const-object("caught ArrayStoreException (expected)" catc 302 h) . <- . 303 next 012b 304 live out:{59} 305 block 0085 306 pred 012b 307 live in:{59, 60} 308 Blort.java:30@0085: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ 309 String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V 310 catch) . <- v59:Ljava/io/PrintStream; v60:Ljava/lang/String;="caught ArraySto 311 reException (expected)" 312 next 012f 313 live out:{} 314 block 0088 315 pred 007b 316 pred 012f 317 live in:{} 318 Blort.java:32@0088: goto . <- . 319 next 0113 320 live out:{} 321 block 0107 322 pred 012d 323 pred 012e 324 live in:{} 325 @????: phi v58:Ljava/lang/ArrayStoreException; <- v52:Ljava/lang/ArrayStoreEx 326 ception;[b=012e] v61:Ljava/lang/ArrayStoreException;[b=012d] 327 Blort.java:28@007e: goto . <- . 328 next 007e 329 live out:{58} 330 block 0112 331 pred 012c 332 live in:{62, 63} 333 Blort.java:5@0000: move-param-int(0) v12:"k"I <- . 334 Blort.java:5@0000: goto . <- . 335 next 0000 336 live out:{12, 62, 63} 337 block 0113 338 pred 0088 339 live in:{} 340 Blort.java:32@0088: return-void . <- . 341 next 0132 342 live out:{} 343 block 0119 344 pred 0000 345 live in:{62, 63} 346 Blort.java:7@0004: Rop{move-result-pseudo [Ljava/lang/String; <- . flows} v15 347 :[Ljava/lang/String; <- . 348 Blort.java:7@0004: goto . <- . 349 next 0007 350 live out:{15, 62, 63} 351 block 011a 352 pred 0007 353 live in:{15, 62} 354 Blort.java:8@000a: Rop{move-result-pseudo [Ljava/lang/Object; <- . flows} v17 355 :[Ljava/lang/Object; <- . 356 Blort.java:8@000a: goto . <- . 357 next 000d 358 live out:{15, 17, 62} 359 block 011b 360 pred 0016 361 live in:{15, 17, 62} 362 Blort.java:13@0016: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} 363 v19:Ljava/io/PrintStream; <- . 364 Blort.java:13@0016: goto . <- . 365 next 0019 366 live out:{15, 17, 19, 62} 367 block 011c 368 pred 0019 369 live in:{15, 17, 19, 62} 370 Blort.java:13@0019: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v20 371 :Ljava/lang/String;="foo" <- . 372 Blort.java:13@0019: goto . <- . 373 next 001b 374 live out:{15, 17, 19, 20, 62} 375 block 011d 376 pred 0021 377 live in:{15, 17, 30, 62} 378 Blort.java:17@0024: Rop{move-result-pseudo I <- . flows} v31:I <- . 379 Blort.java:17@0024: goto . <- . 380 next 0025 381 live out:{15, 17, 30, 31, 62} 382 block 011e 383 pred 0028 384 live in:{15, 17, 30, 62} 385 Blort.java:18@002b: Rop{move-result-pseudo N002bLjava/lang/String; <- . flows 386 } v32:N002bLjava/lang/String; <- . 387 Blort.java:18@002b: goto . <- . 388 next 002e 389 live out:{15, 17, 30, 32, 62} 390 block 011f 391 pred 002e 392 live in:{15, 17, 30, 32, 62} 393 Blort.java:18@0031: Rop{move-result Ljava/lang/String; <- . flows} v33:Ljava/ 394 lang/String; <- . 395 Blort.java:18@0031: goto . <- . 396 next 0034 397 live out:{15, 17, 30, 32, 33, 62} 398 block 0120 399 pred 003e 400 live in:{15, 17, 62} 401 Blort.java:20@003e: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} 402 v35:Ljava/io/PrintStream; <- . 403 Blort.java:20@003e: goto . <- . 404 next 0041 405 live out:{15, 17, 35, 62} 406 block 0121 407 pred 0041 408 live in:{15, 17, 35, 62} 409 Blort.java:20@0041: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v36 410 :Ljava/lang/String;="string -> object" <- . 411 Blort.java:20@0041: goto . <- . 412 next 0043 413 live out:{15, 17, 35, 36, 62} 414 block 0122 415 pred 0046 416 live in:{15, 17, 62} 417 Blort.java:21@004b: Rop{move-result-pseudo I <- . flows} v39:I <- . 418 Blort.java:21@004b: goto . <- . 419 next 004c 420 live out:{15, 17, 39, 62} 421 block 0123 422 pred 004f 423 live in:{15, 17, 62} 424 Blort.java:22@004f: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} 425 v40:Ljava/io/PrintStream; <- . 426 Blort.java:22@004f: goto . <- . 427 next 0052 428 live out:{15, 17, 40, 62} 429 block 0124 430 pred 0052 431 live in:{15, 17, 40, 62} 432 Blort.java:22@0052: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v41 433 :Ljava/lang/String;="object -> string" <- . 434 Blort.java:22@0052: goto . <- . 435 next 0054 436 live out:{15, 17, 40, 41, 62} 437 block 0125 438 pred 0057 439 live in:{15, 17, 62} 440 Blort.java:23@005c: Rop{move-result-pseudo I <- . flows} v44:I <- . 441 Blort.java:23@005c: goto . <- . 442 next 005d 443 live out:{15, 17, 44, 62} 444 block 0126 445 pred 0060 446 live in:{15, 17} 447 Blort.java:24@0060: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} 448 v45:Ljava/io/PrintStream; <- . 449 Blort.java:24@0060: goto . <- . 450 next 0063 451 live out:{15, 17, 45} 452 block 0127 453 pred 0063 454 live in:{15, 17, 45} 455 Blort.java:24@0063: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v46 456 :Ljava/lang/String;="object -> string (modified)" <- . 457 Blort.java:24@0063: goto . <- . 458 next 0065 459 live out:{15, 17, 45, 46} 460 block 0128 461 pred 0068 462 live in:{15, 17, 47} 463 Blort.java:25@006a: Rop{move-result-pseudo N006aLjava/lang/Object; <- . flows 464 } v48:N006aLjava/lang/Object; <- . 465 Blort.java:25@006a: goto . <- . 466 next 006d 467 live out:{15, 17, 47, 48} 468 block 0129 469 pred 0072 470 live in:{15, 17, 49, 50} 471 Blort.java:27@0077: Rop{move-result-pseudo I <- . flows} v51:I <- . 472 Blort.java:27@0077: goto . <- . 473 next 0078 474 live out:{15, 17, 49, 50, 51} 475 block 012a 476 pred 007e 477 live in:{} 478 Blort.java:30@0080: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} 479 v59:Ljava/io/PrintStream; <- . 480 Blort.java:30@0080: goto . <- . 481 next 0083 482 live out:{59} 483 block 012b 484 pred 0083 485 live in:{59} 486 Blort.java:30@0083: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v60 487 :Ljava/lang/String;="caught ArrayStoreException (expected)" <- . 488 Blort.java:30@0083: goto . <- . 489 next 0085 490 live out:{59, 60} 491 block 012c 492 live in:{} 493 @????: const-int(8) v63:I=8 <- . 494 @????: const-int(0) v62:I=0 <- . 495 @????: goto . <- . 496 next 0112 497 live out:{62, 63} 498 block 012d 499 pred 0072 500 live in:{} 501 Blort.java:28@007e: Rop{move-exception Ljava/lang/ArrayStoreException; <- . f 502 lows} v61:Ljava/lang/ArrayStoreException; <- . 503 @????: goto . <- . 504 next 0107 505 live out:{61} 506 block 012e 507 pred 0078 508 live in:{} 509 Blort.java:28@007e: Rop{move-exception Ljava/lang/ArrayStoreException; <- . f 510 lows} v52:Ljava/lang/ArrayStoreException; <- . 511 @????: goto . <- . 512 next 0107 513 live out:{52} 514 block 012f 515 pred 0085 516 live in:{} 517 @????: goto . <- . 518 next 0088 519 live out:{} 520 block 0130 521 pred 001b 522 live in:{15, 17, 62} 523 @????: goto . <- . 524 next 001e 525 live out:{15, 17, 62} 526 block 0131 527 pred 000d 528 live in:{15, 17, 62} 529 @????: goto . <- . 530 next 001e 531 live out:{15, 17, 62} 532 block 0132 533 pred 0113 534 live in:{} 535 returns 536 live out:{} 537 538 method testConstructor ()V 539 first 0035 540 block 0000 541 pred 002c 542 live in:{} 543 Blort.java:35@0000: const-object-nothrow(null) v7:<null>=null <- . 544 @????: mark-local-object . <- v7:"foo"LBlort; 545 Blort.java:35@0001: goto . <- . 546 next 0002 547 live out:{7} 548 block 0002 549 pred 0000 550 live in:{7} 551 Blort.java:37@0002: new-instance(Blort catch java.lang.Exception) . <- . 552 next 0036 553 next 0033 * 554 live out:{7} 555 block 0005 556 pred 0033 557 live in:{7, 8} 558 Blort.java:37@0006: Rop{invoke-direct . <- LBlort; call throws <any>}(Blort.< 559 init>:()V catch java.lang.Exception) . <- v8:N0002LBlort; 560 next 0037 561 next 0009 * 562 live out:{7, 8} 563 block 0009 564 pred 0005 565 live in:{8} 566 @????: mark-local-object . <- v8:"foo"LBlort; 567 Blort.java:37@0009: goto . <- . 568 next 000a 569 live out:{8} 570 block 000a 571 pred 0009 572 live in:{8} 573 Blort.java:39@000a: goto . <- . 574 next 000e 575 live out:{8} 576 block 000d 577 pred 0023 578 live in:{7} 579 Blort.java:38@000d: goto . <- . 580 next 000e 581 live out:{7} 582 block 000e 583 pred 000a 584 pred 000d 585 live in:{} 586 @????: phi v14:"foo"LBlort; <- v8:"foo"LBlort;[b=000a] v7:"foo"LBlort;[b=000d 587 ] 588 Blort.java:40@000e: get-static-object(java.lang.System.err:Ljava/io/PrintStre 589 am; catch) . <- . 590 next 0034 591 live out:{14} 592 block 0011 593 pred 0034 594 live in:{14, 15} 595 Blort.java:40@0012: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ 596 Object; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/Object;)V 597 catch) . <- v15:Ljava/io/PrintStream; v14:LBlort; 598 next 0015 599 live out:{} 600 block 0015 601 pred 0011 602 live in:{} 603 Blort.java:41@0015: goto . <- . 604 next 002d 605 live out:{} 606 block 0023 607 pred 0036 608 pred 0037 609 live in:{7} 610 Blort.java:38@000d: goto . <- . 611 next 000d 612 live out:{7} 613 block 002c 614 pred 0035 615 live in:{} 616 Blort.java:35@0000: move-param-object(0) v6:"this"LBlort; <- . 617 Blort.java:35@0000: goto . <- . 618 next 0000 619 live out:{} 620 block 002d 621 pred 0015 622 live in:{} 623 Blort.java:41@0015: return-void . <- . 624 next 0038 625 live out:{} 626 block 0033 627 pred 0002 628 live in:{7} 629 Blort.java:37@0002: Rop{move-result-pseudo N0002LBlort; <- . flows} v8:N0002L 630 Blort; <- . 631 Blort.java:37@0002: goto . <- . 632 next 0005 633 live out:{7, 8} 634 block 0034 635 pred 000e 636 live in:{14} 637 Blort.java:40@000e: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} 638 v15:Ljava/io/PrintStream; <- . 639 Blort.java:40@000e: goto . <- . 640 next 0011 641 live out:{14, 15} 642 block 0035 643 live in:{} 644 @????: goto . <- . 645 next 002c 646 live out:{} 647 block 0036 648 pred 0002 649 live in:{7} 650 Blort.java:38@000d: Rop{move-exception Ljava/lang/Exception; <- . flows} v19: 651 Ljava/lang/Exception; <- . 652 @????: goto . <- . 653 next 0023 654 live out:{7} 655 block 0037 656 pred 0005 657 live in:{7} 658 Blort.java:38@000d: Rop{move-exception Ljava/lang/Exception; <- . flows} v9:L 659 java/lang/Exception; <- . 660 @????: goto . <- . 661 next 0023 662 live out:{7} 663 block 0038 664 pred 002d 665 live in:{} 666 returns 667 live out:{} 668 669 method parseHeaderGroup (Ljava/lang/Object;Ljava/lang/Object;II)V 670 first 01c6 671 block 0000 672 pred 01ae 673 live in:{16, 17, 18, 99, 100, 101} 674 Blort.java:57@0000: const-object-nothrow(null) v19:<null>=null <- . 675 @????: mark-local-object . <- v19:"current"Ljava/lang/StringBuilder; 676 Blort.java:58@0003: const-object-nothrow(null) v20:<null>=null <- . 677 @????: mark-local-object . <- v20:"previous"Ljava/lang/StringBuilder; 678 Blort.java:58@0004: goto . <- . 679 next 01ca 680 live out:{16, 17, 18, 19, 20, 99, 100, 101} 681 block 0006 682 pred 01ca 683 live in:{16, 17, 18, 30, 31, 99, 100, 101} 684 Blort.java:60@0008: if-nez-object . <- v31:Ljava/lang/StringBuilder; 685 next 000b * 686 next 0019 687 live out:{16, 17, 18, 30, 31, 99, 100, 101} 688 block 000b 689 pred 0006 690 live in:{16, 17, 18, 30, 99, 100, 101} 691 Blort.java:61@000b: new-instance(java.lang.StringBuilder catch) . <- . 692 next 01b5 693 live out:{16, 17, 18, 30, 99, 100, 101} 694 block 000e 695 pred 01b5 696 live in:{16, 17, 18, 30, 32, 99, 100, 101} 697 Blort.java:61@000f: const-int(64) v33:I=64 <- . 698 Blort.java:61@0011: Rop{invoke-direct . <- Ljava/lang/StringBuilder; I call t 699 hrows <any>}(java.lang.StringBuilder.<init>:(I)V catch) . <- v32:N000bLjava/l 700 ang/StringBuilder; v33:I=64 701 next 0014 702 live out:{16, 17, 18, 30, 32, 99, 100, 101} 703 block 0014 704 pred 000e 705 live in:{16, 17, 18, 30, 32, 99, 100, 101} 706 @????: mark-local-object . <- v32:"current"Ljava/lang/StringBuilder; 707 Blort.java:61@0016: goto . <- . 708 next 001f 709 live out:{16, 17, 18, 30, 32, 99, 100, 101} 710 block 0019 711 pred 0006 712 live in:{16, 17, 18, 30, 31, 99, 100, 101} 713 Blort.java:63@001b: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th 714 rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v31:Ljava/lang/Str 715 ingBuilder; 716 next 01b6 717 live out:{16, 17, 18, 30, 31, 99, 100, 101} 718 block 001e 719 pred 01b6 720 live in:{16, 17, 18, 30, 31, 99, 100, 101} 721 @????: goto . <- . 722 next 001f 723 live out:{16, 17, 18, 30, 31, 99, 100, 101} 724 block 001f 725 pred 0014 726 pred 001e 727 live in:{16, 17, 18, 30, 99, 100, 101} 728 @????: phi v39:"current"Ljava/lang/StringBuilder; <- v32:"current"Ljava/lang/ 729 StringBuilder;[b=0014] v31:"current"Ljava/lang/StringBuilder;[b=001e] 730 Blort.java:65@0020: Rop{invoke-virtual . <- Ljava/lang/Object; call throws <a 731 ny>}(java.lang.Object.hashCode:()I catch) . <- v16:Ljava/lang/Object; 732 next 01b7 733 live out:{16, 17, 18, 30, 39, 99, 100, 101} 734 block 0023 735 pred 01b7 736 live in:{16, 17, 18, 30, 39, 40, 99, 100, 101} 737 @????: mark-local-int . <- v40:"l"I 738 Blort.java:66@0027: const-int(-1) v41:I=-1 <- . 739 Blort.java:66@0028: if-eq-int . <- v40:I v41:I=-1 740 next 002b * 741 next 01d4 742 live out:{16, 17, 18, 30, 39, 99, 100, 101} 743 block 002b 744 pred 0023 745 live in:{16, 17, 18, 30, 39, 99, 100, 101} 746 Blort.java:66@002d: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th 747 rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v39:Ljava/lang/Str 748 ingBuilder; 749 next 01b8 750 live out:{16, 17, 18, 30, 39, 99, 100, 101} 751 block 0030 752 pred 01b8 753 live in:{16, 17, 18, 30, 39, 42, 99, 100, 101} 754 Blort.java:66@0030: const-int(1) v43:I=1 <- . 755 Blort.java:66@0031: if-ge-int . <- v42:I v43:I=1 756 next 0034 * 757 next 0037 758 live out:{16, 17, 18, 30, 39, 99, 100, 101} 759 block 0034 760 pred 0030 761 live in:{} 762 Blort.java:67@0034: goto . <- . 763 next 00d6 764 live out:{} 765 block 0037 766 pred 0030 767 live in:{16, 17, 18, 30, 39, 99, 100, 101} 768 Blort.java:70@003a: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; I call 769 throws <any>}(java.lang.StringBuilder.charAt:(I)C catch) . <- v39:Ljava/lang/ 770 StringBuilder; v100:I=0 771 next 01b9 772 live out:{16, 17, 18, 30, 39, 99, 100, 101} 773 block 003d 774 pred 01b9 775 live in:{16, 17, 18, 30, 39, 45, 99, 100, 101} 776 Blort.java:70@003f: if-eq-int . <- v45:I v99:I=32 777 next 0042 * 778 next 01d3 779 live out:{16, 17, 18, 30, 39, 99, 100, 101} 780 block 0042 781 pred 003d 782 live in:{16, 17, 18, 30, 39, 99, 100, 101} 783 Blort.java:70@0045: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; I call 784 throws <any>}(java.lang.StringBuilder.charAt:(I)C catch) . <- v39:Ljava/lang/ 785 StringBuilder; v100:I=0 786 next 01ba 787 live out:{16, 17, 18, 30, 39, 99, 100, 101} 788 block 0048 789 pred 01ba 790 live in:{16, 17, 18, 30, 39, 48, 99, 100, 101} 791 Blort.java:70@004a: if-ne-int . <- v48:I v101:I=9 792 next 01d2 * 793 next 01d1 794 live out:{16, 17, 18, 30, 39, 99, 100, 101} 795 block 004d 796 pred 01c9 797 live in:{16, 17, 18, 30, 39, 99, 100, 101} 798 Blort.java:70@004f: if-eqz-object . <- v30:Ljava/lang/StringBuilder; 799 next 0052 * 800 next 01d0 801 live out:{16, 17, 18, 30, 39, 99, 100, 101} 802 block 0052 803 pred 004d 804 live in:{16, 17, 18, 30, 39, 99, 100, 101} 805 Blort.java:71@0052: const-int(0) v67:I=0 <- . 806 @????: mark-local-int . <- v67:"i"I 807 Blort.java:71@0053: goto . <- . 808 next 0055 809 live out:{16, 17, 18, 30, 39, 67, 99, 100, 101} 810 block 0055 811 pred 0052 812 pred 0079 813 live in:{16, 17, 18, 30, 39, 99, 100, 101} 814 @????: phi v71:"i"I <- v67:"i"I[b=0052] v78:"i"I[b=0079] 815 Blort.java:72@0059: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th 816 rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v39:Ljava/lang/Str 817 ingBuilder; 818 next 01bb 819 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 820 block 005c 821 pred 01bb 822 live in:{16, 17, 18, 30, 39, 71, 72, 99, 100, 101} 823 Blort.java:72@005c: if-ge-int . <- v71:I v72:I 824 next 005f * 825 next 01cf 826 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 827 block 005f 828 pred 005c 829 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 830 Blort.java:73@0063: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; I call 831 throws <any>}(java.lang.StringBuilder.charAt:(I)C catch) . <- v39:Ljava/lang/ 832 StringBuilder; v71:I 833 next 01bc 834 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 835 block 0066 836 pred 01bc 837 live in:{16, 17, 18, 30, 39, 71, 73, 99, 100, 101} 838 @????: mark-local-int . <- v73:"ch"C 839 Blort.java:74@006c: if-eq-int . <- v73:I v99:I=32 840 next 006f * 841 next 01ce 842 live out:{16, 17, 18, 30, 39, 71, 73, 99, 100, 101} 843 block 006f 844 pred 0066 845 live in:{16, 17, 18, 30, 39, 71, 73, 99, 100, 101} 846 Blort.java:74@0073: if-eq-int . <- v73:I v101:I=9 847 next 0076 * 848 next 01cd 849 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 850 block 0076 851 pred 006f 852 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 853 Blort.java:75@0076: goto . <- . 854 next 01c8 855 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 856 block 0079 857 pred 01cd 858 pred 01ce 859 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 860 Blort.java:77@0079: add-const-int(1) v78:"i"I <- v71:I 861 Blort.java:78@007c: goto . <- . 862 next 0055 863 live out:{16, 17, 18, 30, 39, 78, 99, 100, 101} 864 block 007f 865 pred 01c8 866 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 867 Blort.java:79@0080: if-lez-int . <- v18:I 868 next 0083 * 869 next 01cc 870 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 871 block 0083 872 pred 007f 873 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 874 Blort.java:79@0085: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th 875 rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v30:Ljava/lang/Str 876 ingBuilder; 877 next 01bd 878 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 879 block 0088 880 pred 01bd 881 live in:{16, 17, 18, 30, 39, 71, 82, 99, 100, 101} 882 Blort.java:79@0089: add-const-int(1) v84:I <- v82:I 883 Blort.java:79@008c: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th 884 rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v39:Ljava/lang/Str 885 ingBuilder; 886 next 01be 887 live out:{16, 17, 18, 30, 39, 71, 84, 99, 100, 101} 888 block 008f 889 pred 01be 890 live in:{16, 17, 18, 30, 39, 71, 84, 85, 99, 100, 101} 891 Blort.java:79@008f: add-int v86:I <- v84:I v85:I 892 Blort.java:79@0092: sub-int v87:I <- v86:I v71:I 893 Blort.java:79@0094: if-le-int . <- v87:I v18:I 894 next 0097 * 895 next 01cb 896 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 897 block 0097 898 pred 008f 899 live in:{} 900 Blort.java:81@0097: new-instance(java.io.IOException catch) . <- . 901 next 01bf 902 live out:{} 903 block 009a 904 pred 01bf 905 live in:{88} 906 Blort.java:81@009b: const-object("Maximum line length limit exceeded" catch) 907 . <- . 908 next 01c0 909 live out:{88} 910 block 009d 911 pred 01c0 912 live in:{88, 89} 913 Blort.java:81@009d: Rop{invoke-direct . <- Ljava/io/IOException; Ljava/lang/S 914 tring; call throws <any>}(java.io.IOException.<init>:(Ljava/lang/String;)V ca 915 tch) . <- v88:N0097Ljava/io/IOException; v89:Ljava/lang/String;="Maximum line 916 length limit exceeded" 917 next 00a0 918 live out:{88} 919 block 00a0 920 pred 009d 921 live in:{88} 922 Blort.java:81@00a0: throw(catch) . <- v88:Ljava/io/IOException; 923 next 01d5 924 live out:{} 925 block 00a1 926 pred 01cb 927 pred 01cc 928 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 929 Blort.java:83@00a5: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; I call 930 throws <any>}(java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder; cat 931 ch) . <- v30:Ljava/lang/StringBuilder; v99:I=32 932 next 01c1 933 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 934 block 00a8 935 pred 01c1 936 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 937 Blort.java:84@00b1: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th 938 rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v39:Ljava/lang/Str 939 ingBuilder; 940 next 01c2 941 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 942 block 00b4 943 pred 01c2 944 live in:{16, 17, 18, 30, 39, 71, 94, 99, 100, 101} 945 Blort.java:84@00b6: sub-int v95:I <- v94:I v71:I 946 Blort.java:84@00b7: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l 947 ang/CharSequence; I I call throws <any>}(java.lang.StringBuilder.append:(Ljav 948 a/lang/CharSequence;II)Ljava/lang/StringBuilder; catch) . <- v30:Ljava/lang/S 949 tringBuilder; v39:Ljava/lang/StringBuilder; v71:I v95:I 950 next 01c3 951 live out:{16, 17, 18, 30, 39, 99, 100, 101} 952 block 00ba 953 pred 01c3 954 live in:{16, 17, 18, 30, 39, 99, 100, 101} 955 Blort.java:85@00bb: goto . <- . 956 next 01c7 957 live out:{16, 17, 18, 30, 39, 99, 100, 101} 958 block 00be 959 pred 01d0 960 pred 01d1 961 live in:{16, 17, 18, 39, 99, 100, 101} 962 Blort.java:86@00c0: move-object v52:"previous"Ljava/lang/StringBuilder; <- v3 963 9:Ljava/lang/StringBuilder; 964 Blort.java:87@00c2: const-object-nothrow(null) v53:<null>=null <- . 965 @????: mark-local-object . <- v53:"current"Ljava/lang/StringBuilder; 966 Blort.java:87@00c3: goto . <- . 967 next 01c7 968 live out:{16, 17, 18, 52, 53, 99, 100, 101} 969 block 00c5 970 pred 01c7 971 live in:{16, 17, 18, 61, 62, 99, 100, 101} 972 Blort.java:89@00c6: if-lez-int . <- v17:I 973 next 00c9 * 974 next 00d3 975 live out:{16, 17, 18, 61, 62, 99, 100, 101} 976 block 00c9 977 pred 00c5 978 live in:{} 979 Blort.java:90@00c9: new-instance(java.io.IOException catch) . <- . 980 next 01c4 981 live out:{} 982 block 00cc 983 pred 01c4 984 live in:{63} 985 Blort.java:90@00cd: const-object("Maximum header count exceeded" catch) . <- 986 . 987 next 01c5 988 live out:{63} 989 block 00cf 990 pred 01c5 991 live in:{63, 64} 992 Blort.java:90@00cf: Rop{invoke-direct . <- Ljava/io/IOException; Ljava/lang/S 993 tring; call throws <any>}(java.io.IOException.<init>:(Ljava/lang/String;)V ca 994 tch) . <- v63:N00c9Ljava/io/IOException; v64:Ljava/lang/String;="Maximum head 995 er count exceeded" 996 next 00d2 997 live out:{63} 998 block 00d2 999 pred 00cf 1000 live in:{63} 1001 Blort.java:90@00d2: throw(catch) . <- v63:Ljava/io/IOException; 1002 next 01d5 1003 live out:{} 1004 block 00d3 1005 pred 00c5 1006 live in:{16, 17, 18, 61, 62, 99, 100, 101} 1007 Blort.java:92@00d3: goto . <- . 1008 next 01ca 1009 live out:{16, 17, 18, 61, 62, 99, 100, 101} 1010 block 00d6 1011 pred 0034 1012 pred 01d4 1013 live in:{} 1014 Blort.java:93@00d6: goto . <- . 1015 next 01af 1016 live out:{} 1017 block 01ae 1018 pred 01c6 1019 live in:{99, 100, 101} 1020 Blort.java:57@0000: move-param-object(0) v15:"headGroup"Ljava/lang/Object; <- 1021 . 1022 Blort.java:57@0000: move-param-object(1) v16:"inbuffer"Ljava/lang/Object; <- 1023 . 1024 Blort.java:57@0000: move-param-int(2) v17:"maxHeaderCount"I <- . 1025 Blort.java:57@0000: move-param-int(3) v18:"maxLineLen"I <- . 1026 Blort.java:57@0000: goto . <- . 1027 next 0000 1028 live out:{16, 17, 18, 99, 100, 101} 1029 block 01af 1030 pred 00d6 1031 live in:{} 1032 Blort.java:93@00d6: return-void . <- . 1033 next 01d5 1034 live out:{} 1035 block 01b5 1036 pred 000b 1037 live in:{16, 17, 18, 30, 99, 100, 101} 1038 Blort.java:61@000b: Rop{move-result-pseudo N000bLjava/lang/StringBuilder; <- 1039 . flows} v32:N000bLjava/lang/StringBuilder; <- . 1040 Blort.java:61@000b: goto . <- . 1041 next 000e 1042 live out:{16, 17, 18, 30, 32, 99, 100, 101} 1043 block 01b6 1044 pred 0019 1045 live in:{16, 17, 18, 30, 31, 99, 100, 101} 1046 Blort.java:63@001b: goto . <- . 1047 next 001e 1048 live out:{16, 17, 18, 30, 31, 99, 100, 101} 1049 block 01b7 1050 pred 001f 1051 live in:{16, 17, 18, 30, 39, 99, 100, 101} 1052 Blort.java:65@0020: Rop{move-result I <- . flows} v40:I <- . 1053 Blort.java:65@0020: goto . <- . 1054 next 0023 1055 live out:{16, 17, 18, 30, 39, 40, 99, 100, 101} 1056 block 01b8 1057 pred 002b 1058 live in:{16, 17, 18, 30, 39, 99, 100, 101} 1059 Blort.java:66@002d: Rop{move-result I <- . flows} v42:I <- . 1060 Blort.java:66@002d: goto . <- . 1061 next 0030 1062 live out:{16, 17, 18, 30, 39, 42, 99, 100, 101} 1063 block 01b9 1064 pred 0037 1065 live in:{16, 17, 18, 30, 39, 99, 100, 101} 1066 Blort.java:70@003a: Rop{move-result C <- . flows} v45:C <- . 1067 Blort.java:70@003a: goto . <- . 1068 next 003d 1069 live out:{16, 17, 18, 30, 39, 45, 99, 100, 101} 1070 block 01ba 1071 pred 0042 1072 live in:{16, 17, 18, 30, 39, 99, 100, 101} 1073 Blort.java:70@0045: Rop{move-result C <- . flows} v48:C <- . 1074 Blort.java:70@0045: goto . <- . 1075 next 0048 1076 live out:{16, 17, 18, 30, 39, 48, 99, 100, 101} 1077 block 01bb 1078 pred 0055 1079 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1080 Blort.java:72@0059: Rop{move-result I <- . flows} v72:I <- . 1081 Blort.java:72@0059: goto . <- . 1082 next 005c 1083 live out:{16, 17, 18, 30, 39, 71, 72, 99, 100, 101} 1084 block 01bc 1085 pred 005f 1086 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1087 Blort.java:73@0063: Rop{move-result C <- . flows} v73:C <- . 1088 Blort.java:73@0063: goto . <- . 1089 next 0066 1090 live out:{16, 17, 18, 30, 39, 71, 73, 99, 100, 101} 1091 block 01bd 1092 pred 0083 1093 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1094 Blort.java:79@0085: Rop{move-result I <- . flows} v82:I <- . 1095 Blort.java:79@0085: goto . <- . 1096 next 0088 1097 live out:{16, 17, 18, 30, 39, 71, 82, 99, 100, 101} 1098 block 01be 1099 pred 0088 1100 live in:{16, 17, 18, 30, 39, 71, 84, 99, 100, 101} 1101 Blort.java:79@008c: Rop{move-result I <- . flows} v85:I <- . 1102 Blort.java:79@008c: goto . <- . 1103 next 008f 1104 live out:{16, 17, 18, 30, 39, 71, 84, 85, 99, 100, 101} 1105 block 01bf 1106 pred 0097 1107 live in:{} 1108 Blort.java:81@0097: Rop{move-result-pseudo N0097Ljava/io/IOException; <- . fl 1109 ows} v88:N0097Ljava/io/IOException; <- . 1110 Blort.java:81@0097: goto . <- . 1111 next 009a 1112 live out:{88} 1113 block 01c0 1114 pred 009a 1115 live in:{88} 1116 Blort.java:81@009b: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v89 1117 :Ljava/lang/String;="Maximum line length limit exceeded" <- . 1118 Blort.java:81@009b: goto . <- . 1119 next 009d 1120 live out:{88, 89} 1121 block 01c1 1122 pred 00a1 1123 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1124 Blort.java:83@00a5: goto . <- . 1125 next 00a8 1126 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1127 block 01c2 1128 pred 00a8 1129 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1130 Blort.java:84@00b1: Rop{move-result I <- . flows} v94:I <- . 1131 Blort.java:84@00b1: goto . <- . 1132 next 00b4 1133 live out:{16, 17, 18, 30, 39, 71, 94, 99, 100, 101} 1134 block 01c3 1135 pred 00b4 1136 live in:{16, 17, 18, 30, 39, 99, 100, 101} 1137 Blort.java:84@00b7: goto . <- . 1138 next 00ba 1139 live out:{16, 17, 18, 30, 39, 99, 100, 101} 1140 block 01c4 1141 pred 00c9 1142 live in:{} 1143 Blort.java:90@00c9: Rop{move-result-pseudo N00c9Ljava/io/IOException; <- . fl 1144 ows} v63:N00c9Ljava/io/IOException; <- . 1145 Blort.java:90@00c9: goto . <- . 1146 next 00cc 1147 live out:{63} 1148 block 01c5 1149 pred 00cc 1150 live in:{63} 1151 Blort.java:90@00cd: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v64 1152 :Ljava/lang/String;="Maximum header count exceeded" <- . 1153 Blort.java:90@00cd: goto . <- . 1154 next 00cf 1155 live out:{63, 64} 1156 block 01c6 1157 live in:{} 1158 @????: const-int(9) v101:I=9 <- . 1159 @????: const-int(0) v100:I=0 <- . 1160 @????: const-int(32) v99:I=32 <- . 1161 @????: goto . <- . 1162 next 01ae 1163 live out:{99, 100, 101} 1164 block 01c7 1165 pred 00ba 1166 pred 00be 1167 live in:{16, 17, 18, 99, 100, 101} 1168 @????: phi v61:"previous"Ljava/lang/StringBuilder; <- v52:"previous"Ljava/lan 1169 g/StringBuilder;[b=00be] v30:"previous"Ljava/lang/StringBuilder;[b=00ba] 1170 @????: phi v62:"current"Ljava/lang/StringBuilder; <- v53:"current"Ljava/lang/ 1171 StringBuilder;[b=00be] v39:"current"Ljava/lang/StringBuilder;[b=00ba] 1172 @????: goto . <- . 1173 next 00c5 1174 live out:{16, 17, 18, 61, 62, 99, 100, 101} 1175 block 01c8 1176 pred 0076 1177 pred 01cf 1178 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1179 @????: goto . <- . 1180 next 007f 1181 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1182 block 01c9 1183 pred 01d2 1184 pred 01d3 1185 live in:{16, 17, 18, 30, 39, 99, 100, 101} 1186 @????: goto . <- . 1187 next 004d 1188 live out:{16, 17, 18, 30, 39, 99, 100, 101} 1189 block 01ca 1190 pred 0000 1191 pred 00d3 1192 live in:{16, 17, 18, 99, 100, 101} 1193 @????: phi v30:"previous"Ljava/lang/StringBuilder; <- v20:"previous"Ljava/lan 1194 g/StringBuilder;[b=0000] v61:"previous"Ljava/lang/StringBuilder;[b=00d3] 1195 @????: phi v31:"current"Ljava/lang/StringBuilder; <- v19:"current"Ljava/lang/ 1196 StringBuilder;[b=0000] v62:"current"Ljava/lang/StringBuilder;[b=00d3] 1197 @????: goto . <- . 1198 next 0006 1199 live out:{16, 17, 18, 30, 31, 99, 100, 101} 1200 block 01cb 1201 pred 008f 1202 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1203 @????: goto . <- . 1204 next 00a1 1205 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1206 block 01cc 1207 pred 007f 1208 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1209 @????: goto . <- . 1210 next 00a1 1211 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1212 block 01cd 1213 pred 006f 1214 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1215 @????: goto . <- . 1216 next 0079 1217 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1218 block 01ce 1219 pred 0066 1220 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1221 @????: goto . <- . 1222 next 0079 1223 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1224 block 01cf 1225 pred 005c 1226 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1227 @????: goto . <- . 1228 next 01c8 1229 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1230 block 01d0 1231 pred 004d 1232 live in:{16, 17, 18, 39, 99, 100, 101} 1233 @????: goto . <- . 1234 next 00be 1235 live out:{16, 17, 18, 39, 99, 100, 101} 1236 block 01d1 1237 pred 0048 1238 live in:{16, 17, 18, 39, 99, 100, 101} 1239 @????: goto . <- . 1240 next 00be 1241 live out:{16, 17, 18, 39, 99, 100, 101} 1242 block 01d2 1243 pred 0048 1244 live in:{16, 17, 18, 30, 39, 99, 100, 101} 1245 @????: goto . <- . 1246 next 01c9 1247 live out:{16, 17, 18, 30, 39, 99, 100, 101} 1248 block 01d3 1249 pred 003d 1250 live in:{16, 17, 18, 30, 39, 99, 100, 101} 1251 @????: goto . <- . 1252 next 01c9 1253 live out:{16, 17, 18, 30, 39, 99, 100, 101} 1254 block 01d4 1255 pred 0023 1256 live in:{} 1257 @????: goto . <- . 1258 next 00d6 1259 live out:{} 1260 block 01d5 1261 pred 00a0 1262 pred 00d2 1263 pred 01af 1264 live in:{} 1265 returns 1266 live out:{} 1267