1reading Blort.class... 2method <init> ()V 3first 0007 4block 0000 5 pred 0005 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:{} 11block 0004 12 pred 0000 13 live in:{} 14 Blort.java:2@0004: goto . <- . 15 next 0006 16 live out:{} 17block 0005 18 pred 0007 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} 24block 0006 25 pred 0004 26 live in:{} 27 Blort.java:2@0004: return-void . <- . 28 next 0008 29 live out:{} 30block 0007 31 live in:{} 32 @????: goto . <- . 33 next 0005 34 live out:{} 35block 0008 36 pred 0006 37 live in:{} 38 returns 39 live out:{} 40 41method arrayCopyTest (I)V 42first 00a4 43block 0000 44 pred 008a 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 0091 49 live out:{62, 63} 50block 0007 51 pred 0091 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 0092 56 live out:{15, 62} 57block 000d 58 pred 0092 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 00a9 66 live out:{15, 17, 62} 67block 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 0093 73 live out:{15, 17, 62} 74block 0019 75 pred 0093 76 live in:{15, 17, 19, 62} 77 Blort.java:13@0019: const-object("foo" catch) . <- . 78 next 0094 79 live out:{15, 17, 19, 62} 80block 001b 81 pred 0094 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 00a8 87 live out:{15, 17, 62} 88block 001e 89 pred 00a8 90 pred 00a9 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} 97block 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 0095 104 live out:{15, 17, 30, 62} 105block 0025 106 pred 0095 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} 112block 0028 113 pred 0025 114 live in:{15, 17, 30, 62} 115 Blort.java:18@002b: new-instance(java.lang.String catch) . <- . 116 next 0096 117 live out:{15, 17, 30, 62} 118block 002e 119 pred 0096 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 0097 124 live out:{15, 17, 30, 32, 62} 125block 0034 126 pred 0097 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} 133block 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} 140block 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} 147block 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 0098 153 live out:{15, 17, 62} 154block 0041 155 pred 0098 156 live in:{15, 17, 35, 62} 157 Blort.java:20@0041: const-object("string -> object" catch) . <- . 158 next 0099 159 live out:{15, 17, 35, 62} 160block 0043 161 pred 0099 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} 169block 0046 170 pred 0043 171 live in:{15, 17, 62} 172 Blort.java:21@004b: array-length(catch) . <- v15:[Ljava/lang/String; 173 next 009a 174 live out:{15, 17, 62} 175block 004c 176 pred 009a 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} 184block 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 009b 190 live out:{15, 17, 62} 191block 0052 192 pred 009b 193 live in:{15, 17, 40, 62} 194 Blort.java:22@0052: const-object("object -> string" catch) . <- . 195 next 009c 196 live out:{15, 17, 40, 62} 197block 0054 198 pred 009c 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} 206block 0057 207 pred 0054 208 live in:{15, 17, 62} 209 Blort.java:23@005c: array-length(catch) . <- v15:[Ljava/lang/String; 210 next 009d 211 live out:{15, 17, 62} 212block 005d 213 pred 009d 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} 221block 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 009e 227 live out:{15, 17} 228block 0063 229 pred 009e 230 live in:{15, 17, 45} 231 Blort.java:24@0063: const-object("object -> string (modified)" catch) . <- . 232 next 009f 233 live out:{15, 17, 45} 234block 0065 235 pred 009f 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} 243block 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 00a0 249 live out:{15, 17, 47} 250block 006d 251 pred 00a0 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} 257block 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} 264block 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 00a5 272 next 00a1 * 273 live out:{15, 17, 49, 50} 274block 0078 275 pred 00a1 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 00a6 282 next 007b * 283 live out:{} 284block 007b 285 pred 0078 286 live in:{} 287 Blort.java:31@007b: goto . <- . 288 next 0088 289 live out:{} 290block 007e 291 pred 0089 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 00a2 297 live out:{} 298block 0083 299 pred 00a2 300 live in:{59} 301 Blort.java:30@0083: const-object("caught ArrayStoreException (expected)" catc 302 h) . <- . 303 next 00a3 304 live out:{59} 305block 0085 306 pred 00a3 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 00a7 313 live out:{} 314block 0088 315 pred 007b 316 pred 00a7 317 live in:{} 318 Blort.java:32@0088: goto . <- . 319 next 008b 320 live out:{} 321block 0089 322 pred 00a5 323 pred 00a6 324 live in:{} 325 @????: phi v58:Ljava/lang/ArrayStoreException; <- v52:Ljava/lang/ArrayStoreEx 326 ception;[b=00a6] v61:Ljava/lang/ArrayStoreException;[b=00a5] 327 Blort.java:28@007e: goto . <- . 328 next 007e 329 live out:{58} 330block 008a 331 pred 00a4 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} 337block 008b 338 pred 0088 339 live in:{} 340 Blort.java:32@0088: return-void . <- . 341 next 00aa 342 live out:{} 343block 0091 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} 351block 0092 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} 359block 0093 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} 367block 0094 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} 375block 0095 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} 382block 0096 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} 390block 0097 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} 398block 0098 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} 406block 0099 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} 414block 009a 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} 421block 009b 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} 429block 009c 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} 437block 009d 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} 444block 009e 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} 452block 009f 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} 460block 00a0 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} 468block 00a1 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} 475block 00a2 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} 483block 00a3 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} 491block 00a4 492 live in:{} 493 @????: const-int(8) v63:I=8 <- . 494 @????: const-int(0) v62:I=0 <- . 495 @????: goto . <- . 496 next 008a 497 live out:{62, 63} 498block 00a5 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 0089 505 live out:{61} 506block 00a6 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 0089 513 live out:{52} 514block 00a7 515 pred 0085 516 live in:{} 517 @????: goto . <- . 518 next 0088 519 live out:{} 520block 00a8 521 pred 001b 522 live in:{15, 17, 62} 523 @????: goto . <- . 524 next 001e 525 live out:{15, 17, 62} 526block 00a9 527 pred 000d 528 live in:{15, 17, 62} 529 @????: goto . <- . 530 next 001e 531 live out:{15, 17, 62} 532block 00aa 533 pred 008b 534 live in:{} 535 returns 536 live out:{} 537 538method testConstructor ()V 539first 0020 540block 0000 541 pred 0017 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} 548block 0002 549 pred 0000 550 live in:{7} 551 Blort.java:37@0002: new-instance(Blort catch java.lang.Exception) . <- . 552 next 0021 553 next 001e * 554 live out:{7} 555block 0005 556 pred 001e 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 0022 561 next 0009 * 562 live out:{7, 8} 563block 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} 570block 000a 571 pred 0009 572 live in:{8} 573 Blort.java:39@000a: goto . <- . 574 next 000e 575 live out:{8} 576block 000d 577 pred 0016 578 live in:{7} 579 Blort.java:38@000d: goto . <- . 580 next 000e 581 live out:{7} 582block 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 001f 591 live out:{14} 592block 0011 593 pred 001f 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:{} 600block 0015 601 pred 0011 602 live in:{} 603 Blort.java:41@0015: goto . <- . 604 next 0018 605 live out:{} 606block 0016 607 pred 0021 608 pred 0022 609 live in:{7} 610 Blort.java:38@000d: goto . <- . 611 next 000d 612 live out:{7} 613block 0017 614 pred 0020 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:{} 620block 0018 621 pred 0015 622 live in:{} 623 Blort.java:41@0015: return-void . <- . 624 next 0023 625 live out:{} 626block 001e 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} 634block 001f 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} 642block 0020 643 live in:{} 644 @????: goto . <- . 645 next 0017 646 live out:{} 647block 0021 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 0016 654 live out:{7} 655block 0022 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 0016 662 live out:{7} 663block 0023 664 pred 0018 665 live in:{} 666 returns 667 live out:{} 668 669method parseHeaderGroup (Ljava/lang/Object;Ljava/lang/Object;II)V 670first 00ef 671block 0000 672 pred 00d7 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 00f3 680 live out:{16, 17, 18, 19, 20, 99, 100, 101} 681block 0006 682 pred 00f3 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} 688block 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 00de 693 live out:{16, 17, 18, 30, 99, 100, 101} 694block 000e 695 pred 00de 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} 703block 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} 710block 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 00df 717 live out:{16, 17, 18, 30, 31, 99, 100, 101} 718block 001e 719 pred 00df 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} 724block 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 00e0 733 live out:{16, 17, 18, 30, 39, 99, 100, 101} 734block 0023 735 pred 00e0 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 00fd 742 live out:{16, 17, 18, 30, 39, 99, 100, 101} 743block 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 00e1 750 live out:{16, 17, 18, 30, 39, 99, 100, 101} 751block 0030 752 pred 00e1 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} 759block 0034 760 pred 0030 761 live in:{} 762 Blort.java:67@0034: goto . <- . 763 next 00d6 764 live out:{} 765block 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 00e2 772 live out:{16, 17, 18, 30, 39, 99, 100, 101} 773block 003d 774 pred 00e2 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 00fc 779 live out:{16, 17, 18, 30, 39, 99, 100, 101} 780block 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 00e3 787 live out:{16, 17, 18, 30, 39, 99, 100, 101} 788block 0048 789 pred 00e3 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 00fb * 793 next 00fa 794 live out:{16, 17, 18, 30, 39, 99, 100, 101} 795block 004d 796 pred 00f2 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 00f9 801 live out:{16, 17, 18, 30, 39, 99, 100, 101} 802block 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} 810block 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 00e4 819 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 820block 005c 821 pred 00e4 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 00f8 826 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 827block 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 00e5 834 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 835block 0066 836 pred 00e5 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 00f7 842 live out:{16, 17, 18, 30, 39, 71, 73, 99, 100, 101} 843block 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 00f6 849 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 850block 0076 851 pred 006f 852 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 853 Blort.java:75@0076: goto . <- . 854 next 00f1 855 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 856block 0079 857 pred 00f6 858 pred 00f7 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} 864block 007f 865 pred 00f1 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 00f5 870 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 871block 0083 872 pred 007f 873 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 874 Blort.java:80@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 00e6 878 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 879block 0088 880 pred 00e6 881 live in:{16, 17, 18, 30, 39, 71, 82, 99, 100, 101} 882 Blort.java:80@0089: add-const-int(1) v84:I <- v82:I 883 Blort.java:80@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 00e7 887 live out:{16, 17, 18, 30, 39, 71, 84, 99, 100, 101} 888block 008f 889 pred 00e7 890 live in:{16, 17, 18, 30, 39, 71, 84, 85, 99, 100, 101} 891 Blort.java:80@008f: add-int v86:I <- v84:I v85:I 892 Blort.java:80@0092: sub-int v87:I <- v86:I v71:I 893 Blort.java:80@0094: if-le-int . <- v87:I v18:I 894 next 0097 * 895 next 00f4 896 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 897block 0097 898 pred 008f 899 live in:{} 900 Blort.java:81@0097: new-instance(java.io.IOException catch) . <- . 901 next 00e8 902 live out:{} 903block 009a 904 pred 00e8 905 live in:{88} 906 Blort.java:81@009b: const-object("Maximum line length limit exceeded" catch) 907 . <- . 908 next 00e9 909 live out:{88} 910block 009d 911 pred 00e9 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} 919block 00a0 920 pred 009d 921 live in:{88} 922 Blort.java:81@00a0: throw(catch) . <- v88:Ljava/io/IOException; 923 next 00fe 924 live out:{} 925block 00a1 926 pred 00f4 927 pred 00f5 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 00ea 933 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 934block 00a8 935 pred 00ea 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 00eb 941 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 942block 00b4 943 pred 00eb 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 00ec 951 live out:{16, 17, 18, 30, 39, 99, 100, 101} 952block 00ba 953 pred 00ec 954 live in:{16, 17, 18, 30, 39, 99, 100, 101} 955 Blort.java:85@00bb: goto . <- . 956 next 00f0 957 live out:{16, 17, 18, 30, 39, 99, 100, 101} 958block 00be 959 pred 00f9 960 pred 00fa 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 00f0 968 live out:{16, 17, 18, 52, 53, 99, 100, 101} 969block 00c5 970 pred 00f0 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} 976block 00c9 977 pred 00c5 978 live in:{} 979 Blort.java:90@00c9: new-instance(java.io.IOException catch) . <- . 980 next 00ed 981 live out:{} 982block 00cc 983 pred 00ed 984 live in:{63} 985 Blort.java:90@00cd: const-object("Maximum header count exceeded" catch) . <- 986 . 987 next 00ee 988 live out:{63} 989block 00cf 990 pred 00ee 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} 998block 00d2 999 pred 00cf 1000 live in:{63} 1001 Blort.java:90@00d2: throw(catch) . <- v63:Ljava/io/IOException; 1002 next 00fe 1003 live out:{} 1004block 00d3 1005 pred 00c5 1006 live in:{16, 17, 18, 61, 62, 99, 100, 101} 1007 Blort.java:92@00d3: goto . <- . 1008 next 00f3 1009 live out:{16, 17, 18, 61, 62, 99, 100, 101} 1010block 00d6 1011 pred 0034 1012 pred 00fd 1013 live in:{} 1014 Blort.java:93@00d6: goto . <- . 1015 next 00d8 1016 live out:{} 1017block 00d7 1018 pred 00ef 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} 1029block 00d8 1030 pred 00d6 1031 live in:{} 1032 Blort.java:93@00d6: return-void . <- . 1033 next 00fe 1034 live out:{} 1035block 00de 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} 1043block 00df 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} 1049block 00e0 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} 1056block 00e1 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} 1063block 00e2 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} 1070block 00e3 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} 1077block 00e4 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} 1084block 00e5 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} 1091block 00e6 1092 pred 0083 1093 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1094 Blort.java:80@0085: Rop{move-result I <- . flows} v82:I <- . 1095 Blort.java:80@0085: goto . <- . 1096 next 0088 1097 live out:{16, 17, 18, 30, 39, 71, 82, 99, 100, 101} 1098block 00e7 1099 pred 0088 1100 live in:{16, 17, 18, 30, 39, 71, 84, 99, 100, 101} 1101 Blort.java:80@008c: Rop{move-result I <- . flows} v85:I <- . 1102 Blort.java:80@008c: goto . <- . 1103 next 008f 1104 live out:{16, 17, 18, 30, 39, 71, 84, 85, 99, 100, 101} 1105block 00e8 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} 1113block 00e9 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} 1121block 00ea 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} 1127block 00eb 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} 1134block 00ec 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} 1140block 00ed 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} 1148block 00ee 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} 1156block 00ef 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 00d7 1163 live out:{99, 100, 101} 1164block 00f0 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} 1175block 00f1 1176 pred 0076 1177 pred 00f8 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} 1182block 00f2 1183 pred 00fb 1184 pred 00fc 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} 1189block 00f3 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} 1200block 00f4 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} 1206block 00f5 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} 1212block 00f6 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} 1218block 00f7 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} 1224block 00f8 1225 pred 005c 1226 live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1227 @????: goto . <- . 1228 next 00f1 1229 live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} 1230block 00f9 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} 1236block 00fa 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} 1242block 00fb 1243 pred 0048 1244 live in:{16, 17, 18, 30, 39, 99, 100, 101} 1245 @????: goto . <- . 1246 next 00f2 1247 live out:{16, 17, 18, 30, 39, 99, 100, 101} 1248block 00fc 1249 pred 003d 1250 live in:{16, 17, 18, 30, 39, 99, 100, 101} 1251 @????: goto . <- . 1252 next 00f2 1253 live out:{16, 17, 18, 30, 39, 99, 100, 101} 1254block 00fd 1255 pred 0023 1256 live in:{} 1257 @????: goto . <- . 1258 next 00d6 1259 live out:{} 1260block 00fe 1261 pred 00a0 1262 pred 00d2 1263 pred 00d8 1264 live in:{} 1265 returns 1266 live out:{} 1267