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