1reading blort.class...
2method <init> ()V
3block 0000: 0000..0004
4  0000: aload_0 // 00
5  0001: invokespecial method{java.lang.Object.<init>:()V}
6  next 0004
7block 0004: 0004..0005
8  0004: return
9  returns
10
11method test_live_exception ([I)V
12block 0000: 0000..0002
13  0000: nop
14  0001: nop
15  next 0002
16block 0002: 0002..0004
17  0002: aload_0 // 00
18  0003: arraylength
19  next 0007
20  next 0006
21  next 0004
22  catch java.lang.RuntimeException -> 0007
23  catch <any> -> 0006
24block 0004: 0004..0005
25  0004: nop
26  next 0005
27block 0005: 0005..0006
28  0005: return
29  returns
30block 0006: 0006..0007
31  0006: return
32  returns
33block 0007: 0007..0008
34  0007: return
35  returns
36
37method test_dead_exception ()V
38block 0000: 0000..0002
39  0000: nop
40  0001: nop
41  next 0002
42block 0002: 0002..0003
43  0002: nop
44  next 0003
45block 0003: 0003..0004
46  0003: nop
47  next 0004
48block 0004: 0004..0005
49  0004: return
50  returns
51block 0005: 0005..0006
52  0005: return
53  returns
54block 0006: 0006..0007
55  0006: return
56  returns
57
58method test_ifs ()V
59block 0000: 0000..0003
60  0000: ifeq 0031
61  next 0003
62  next 0031
63block 0003: 0003..0006
64  0003: ifne 0032
65  next 0006
66  next 0032
67block 0006: 0006..0009
68  0006: iflt 0033
69  next 0009
70  next 0033
71block 0009: 0009..000c
72  0009: ifge 0034
73  next 000c
74  next 0034
75block 000c: 000c..000f
76  000c: ifgt 0035
77  next 000f
78  next 0035
79block 000f: 000f..0012
80  000f: ifle 0036
81  next 0012
82  next 0036
83block 0012: 0012..0015
84  0012: if_icmpeq 0037
85  next 0015
86  next 0037
87block 0015: 0015..0018
88  0015: if_icmpne 0038
89  next 0018
90  next 0038
91block 0018: 0018..001b
92  0018: if_icmplt 0039
93  next 001b
94  next 0039
95block 001b: 001b..001e
96  001b: if_icmpge 003a
97  next 001e
98  next 003a
99block 001e: 001e..0021
100  001e: if_icmpgt 003b
101  next 0021
102  next 003b
103block 0021: 0021..0024
104  0021: if_icmple 003c
105  next 0024
106  next 003c
107block 0024: 0024..0027
108  0024: if_acmpeq 003d
109  next 0027
110  next 003d
111block 0027: 0027..002a
112  0027: if_acmpne 003e
113  next 002a
114  next 003e
115block 002a: 002a..002d
116  002a: ifnull 003f
117  next 002d
118  next 003f
119block 002d: 002d..0030
120  002d: ifnonnull 0040
121  next 0030
122  next 0040
123block 0030: 0030..0031
124  0030: return
125  returns
126block 0031: 0031..0032
127  0031: return
128  returns
129block 0032: 0032..0033
130  0032: return
131  returns
132block 0033: 0033..0034
133  0033: return
134  returns
135block 0034: 0034..0035
136  0034: return
137  returns
138block 0035: 0035..0036
139  0035: return
140  returns
141block 0036: 0036..0037
142  0036: return
143  returns
144block 0037: 0037..0038
145  0037: return
146  returns
147block 0038: 0038..0039
148  0038: return
149  returns
150block 0039: 0039..003a
151  0039: return
152  returns
153block 003a: 003a..003b
154  003a: return
155  returns
156block 003b: 003b..003c
157  003b: return
158  returns
159block 003c: 003c..003d
160  003c: return
161  returns
162block 003d: 003d..003e
163  003d: return
164  returns
165block 003e: 003e..003f
166  003e: return
167  returns
168block 003f: 003f..0040
169  003f: return
170  returns
171block 0040: 0040..0041
172  0040: return
173  returns
174
175method test_jsr ()V
176block 0000: 0000..0003
177  0000: jsr 0009
178  next 0003
179  next 0009
180block 0003: 0003..0008
181  0003: jsr_w 0000000c
182  next 0008
183  next 000c
184block 0008: 0008..0009
185  0008: return
186  returns
187block 0009: 0009..000c
188  0009: astore_0 // 00
189  000a: ret 00
190  returns
191block 000c: 000c..0011
192  000c: astore_0 // 00
193  000d: wide ret 0000
194  returns
195
196method test_tableswitch ()V
197block 0000: 0000..0018
198  0000: tableswitch
199    +00000010: 0018
200    +00000011: 0019
201    default: 001a
202  next 0018
203  next 0019
204  next 001a
205block 0018: 0018..0019
206  0018: return
207  returns
208block 0019: 0019..001a
209  0019: return
210  returns
211block 001a: 001a..001b
212  001a: return
213  returns
214
215method test_lookupswitch ()V
216block 0000: 0000..001c
217  0000: lookupswitch
218    +00000005: 001c
219    +00000010: 001d
220    default: 001e
221  next 001c
222  next 001d
223  next 001e
224block 001c: 001c..001d
225  001c: return
226  returns
227block 001d: 001d..001e
228  001d: return
229  returns
230block 001e: 001e..001f
231  001e: return
232  returns
233
234method test_nonbranch ()V
235block 0000: 0000..0017
236  0000: nop
237  0001: aconst_null
238  0002: iconst_m1 // #-01
239  0003: iconst_0 // #+00
240  0004: iconst_1 // #+01
241  0005: iconst_2 // #+02
242  0006: iconst_3 // #+03
243  0007: iconst_4 // #+04
244  0008: iconst_5 // #+05
245  0009: lconst_0 // +00
246  000a: lconst_1 // +01
247  000b: fconst_0 // 0.0
248  000c: fconst_1 // 1.0
249  000d: fconst_2 // 2.0
250  000e: dconst_0 // 0.0
251  000f: dconst_1 // 1.0
252  0010: bipush #+10
253  0012: sipush #+1000
254  0015: ldc string{"x"}
255  next 0017
256block 0017: 0017..001a
257  0017: ldc_w string{"y"}
258  next 001a
259block 001a: 001a..003c
260  001a: ldc2_w #4008000000000000 // 3.0
261  001d: iload 05
262  001f: lload 05 // category-2
263  0021: fload 05
264  0023: dload 05 // category-2
265  0025: aload 05
266  0027: iload_0 // 00
267  0028: iload_1 // 01
268  0029: iload_2 // 02
269  002a: iload_3 // 03
270  002b: lload_0 // 00, category-2
271  002c: lload_1 // 01, category-2
272  002d: lload_2 // 02, category-2
273  002e: lload_3 // 03, category-2
274  002f: fload_0 // 00
275  0030: fload_1 // 01
276  0031: fload_2 // 02
277  0032: fload_3 // 03
278  0033: dload_0 // 00, category-2
279  0034: dload_1 // 01, category-2
280  0035: dload_2 // 02, category-2
281  0036: dload_3 // 03, category-2
282  0037: aload_0 // 00
283  0038: aload_1 // 01
284  0039: aload_2 // 02
285  003a: aload_3 // 03
286  003b: iaload
287  next 003c
288block 003c: 003c..003d
289  003c: laload
290  next 003d
291block 003d: 003d..003e
292  003d: faload
293  next 003e
294block 003e: 003e..003f
295  003e: daload
296  next 003f
297block 003f: 003f..0040
298  003f: aaload
299  next 0040
300block 0040: 0040..0041
301  0040: baload
302  next 0041
303block 0041: 0041..0042
304  0041: caload
305  next 0042
306block 0042: 0042..0043
307  0042: saload
308  next 0043
309block 0043: 0043..0062
310  0043: istore 05
311  0045: lstore 05 // category-2
312  0047: fstore 05
313  0049: dstore 05 // category-2
314  004b: astore 05
315  004d: istore_0 // 00
316  004e: istore_1 // 01
317  004f: istore_2 // 02
318  0050: istore_3 // 03
319  0051: lstore_0 // 00, category-2
320  0052: lstore_1 // 01, category-2
321  0053: lstore_2 // 02, category-2
322  0054: lstore_3 // 03, category-2
323  0055: fstore_0 // 00
324  0056: fstore_1 // 01
325  0057: fstore_2 // 02
326  0058: fstore_3 // 03
327  0059: dstore_0 // 00, category-2
328  005a: dstore_1 // 01, category-2
329  005b: dstore_2 // 02, category-2
330  005c: dstore_3 // 03, category-2
331  005d: astore_0 // 00
332  005e: astore_1 // 01
333  005f: astore_2 // 02
334  0060: astore_3 // 03
335  0061: iastore
336  next 0062
337block 0062: 0062..0063
338  0062: lastore
339  next 0063
340block 0063: 0063..0064
341  0063: fastore
342  next 0064
343block 0064: 0064..0065
344  0064: dastore
345  next 0065
346block 0065: 0065..0066
347  0065: aastore
348  next 0066
349block 0066: 0066..0067
350  0066: bastore
351  next 0067
352block 0067: 0067..0068
353  0067: castore
354  next 0068
355block 0068: 0068..0069
356  0068: sastore
357  next 0069
358block 0069: 0069..007f
359  0069: pop
360  006a: pop2
361  006b: dup
362  006c: dup_x1
363  006d: dup_x2
364  006e: dup2
365  006f: dup2_x1
366  0070: dup2_x2
367  0071: swap
368  0072: iadd
369  0073: ladd
370  0074: fadd
371  0075: dadd
372  0076: isub
373  0077: lsub
374  0078: fsub
375  0079: dsub
376  007a: imul
377  007b: lmul
378  007c: fmul
379  007d: dmul
380  007e: idiv
381  next 007f
382block 007f: 007f..0080
383  007f: ldiv
384  next 0080
385block 0080: 0080..0083
386  0080: fdiv
387  0081: ddiv
388  0082: irem
389  next 0083
390block 0083: 0083..0084
391  0083: lrem
392  next 0084
393block 0084: 0084..00b0
394  0084: frem
395  0085: drem
396  0086: ineg
397  0087: lneg
398  0088: fneg
399  0089: dneg
400  008a: ishl
401  008b: lshl
402  008c: ishr
403  008d: lshr
404  008e: iushr
405  008f: lushr
406  0090: iand
407  0091: land
408  0092: ior
409  0093: lor
410  0094: ixor
411  0095: lxor
412  0096: iinc 05, #+10
413  0099: i2l
414  009a: i2f
415  009b: i2d
416  009c: l2i
417  009d: l2f
418  009e: l2d
419  009f: f2i
420  00a0: f2l
421  00a1: f2d
422  00a2: d2i
423  00a3: d2l
424  00a4: d2f
425  00a5: i2b
426  00a6: i2c
427  00a7: i2s
428  00a8: lcmp
429  00a9: fcmpl
430  00aa: fcmpg
431  00ab: dcmpl
432  00ac: dcmpg
433  00ad: getstatic field{blort.x:I}
434  next 00b0
435block 00b0: 00b0..00b3
436  00b0: putstatic field{blort.x:I}
437  next 00b3
438block 00b3: 00b3..00b6
439  00b3: getfield field{blort.x:I}
440  next 00b6
441block 00b6: 00b6..00b9
442  00b6: putfield field{blort.x:I}
443  next 00b9
444block 00b9: 00b9..00bc
445  00b9: invokevirtual method{blort.x:()V}
446  next 00bc
447block 00bc: 00bc..00bf
448  00bc: invokespecial method{blort.x:()V}
449  next 00bf
450block 00bf: 00bf..00c2
451  00bf: invokestatic method{blort.x:()V}
452  next 00c2
453block 00c2: 00c2..00c7
454  00c2: invokeinterface ifaceMethod{blort.x:()V}, 0001
455  next 00c7
456block 00c7: 00c7..00ca
457  00c7: new type{blort}
458  next 00ca
459block 00ca: 00ca..00cc
460  00ca: newarray int
461  next 00cc
462block 00cc: 00cc..00cf
463  00cc: anewarray type{blort}
464  next 00cf
465block 00cf: 00cf..00d0
466  00cf: arraylength
467  next 00d0
468block 00d0: 00d0..00d3
469  00d0: checkcast type{blort}
470  next 00d3
471block 00d3: 00d3..00d6
472  00d3: instanceof type{blort}
473  next 00d6
474block 00d6: 00d6..00d7
475  00d6: monitorenter
476  next 00d7
477block 00d7: 00d7..00d8
478  00d7: monitorexit
479  next 00d8
480block 00d8: 00d8..010a
481  00d8: wide iload 0100
482  00dc: wide lload 0100 // category-2
483  00e0: wide fload 0100
484  00e4: wide dload 0100 // category-2
485  00e8: wide aload 0100
486  00ec: wide istore 0100
487  00f0: wide lstore 0100 // category-2
488  00f4: wide fstore 0100
489  00f8: wide dstore 0100 // category-2
490  00fc: wide astore 0100
491  0100: wide iinc 0123, #+0321
492  0106: multianewarray type{int[][][]}, 02
493  next 010a
494block 010a: 010a..010b
495  010a: return
496  returns
497