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