Home | History | Annotate | Download | only in 032-bb-live-code
      1 reading blort.class...
      2 method <init> ()V
      3 block 0000: 0000..0004
      4   0000: aload_0 // 00
      5   0001: invokespecial method{java.lang.Object.<init>:()V}
      6   next 0004
      7 block 0004: 0004..0005
      8   0004: return
      9   returns
     10 
     11 method test_live_exception ([I)V
     12 block 0000: 0000..0002
     13   0000: nop
     14   0001: nop
     15   next 0002
     16 block 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
     24 block 0004: 0004..0005
     25   0004: nop
     26   next 0005
     27 block 0005: 0005..0006
     28   0005: return
     29   returns
     30 block 0006: 0006..0007
     31   0006: return
     32   returns
     33 block 0007: 0007..0008
     34   0007: return
     35   returns
     36 
     37 method test_dead_exception ()V
     38 block 0000: 0000..0002
     39   0000: nop
     40   0001: nop
     41   next 0002
     42 block 0002: 0002..0003
     43   0002: nop
     44   next 0003
     45 block 0003: 0003..0004
     46   0003: nop
     47   next 0004
     48 block 0004: 0004..0005
     49   0004: return
     50   returns
     51 block 0005: 0005..0006
     52   0005: return
     53   returns
     54 block 0006: 0006..0007
     55   0006: return
     56   returns
     57 
     58 method test_ifs ()V
     59 block 0000: 0000..0003
     60   0000: ifeq 0031
     61   next 0003
     62   next 0031
     63 block 0003: 0003..0006
     64   0003: ifne 0032
     65   next 0006
     66   next 0032
     67 block 0006: 0006..0009
     68   0006: iflt 0033
     69   next 0009
     70   next 0033
     71 block 0009: 0009..000c
     72   0009: ifge 0034
     73   next 000c
     74   next 0034
     75 block 000c: 000c..000f
     76   000c: ifgt 0035
     77   next 000f
     78   next 0035
     79 block 000f: 000f..0012
     80   000f: ifle 0036
     81   next 0012
     82   next 0036
     83 block 0012: 0012..0015
     84   0012: if_icmpeq 0037
     85   next 0015
     86   next 0037
     87 block 0015: 0015..0018
     88   0015: if_icmpne 0038
     89   next 0018
     90   next 0038
     91 block 0018: 0018..001b
     92   0018: if_icmplt 0039
     93   next 001b
     94   next 0039
     95 block 001b: 001b..001e
     96   001b: if_icmpge 003a
     97   next 001e
     98   next 003a
     99 block 001e: 001e..0021
    100   001e: if_icmpgt 003b
    101   next 0021
    102   next 003b
    103 block 0021: 0021..0024
    104   0021: if_icmple 003c
    105   next 0024
    106   next 003c
    107 block 0024: 0024..0027
    108   0024: if_acmpeq 003d
    109   next 0027
    110   next 003d
    111 block 0027: 0027..002a
    112   0027: if_acmpne 003e
    113   next 002a
    114   next 003e
    115 block 002a: 002a..002d
    116   002a: ifnull 003f
    117   next 002d
    118   next 003f
    119 block 002d: 002d..0030
    120   002d: ifnonnull 0040
    121   next 0030
    122   next 0040
    123 block 0030: 0030..0031
    124   0030: return
    125   returns
    126 block 0031: 0031..0032
    127   0031: return
    128   returns
    129 block 0032: 0032..0033
    130   0032: return
    131   returns
    132 block 0033: 0033..0034
    133   0033: return
    134   returns
    135 block 0034: 0034..0035
    136   0034: return
    137   returns
    138 block 0035: 0035..0036
    139   0035: return
    140   returns
    141 block 0036: 0036..0037
    142   0036: return
    143   returns
    144 block 0037: 0037..0038
    145   0037: return
    146   returns
    147 block 0038: 0038..0039
    148   0038: return
    149   returns
    150 block 0039: 0039..003a
    151   0039: return
    152   returns
    153 block 003a: 003a..003b
    154   003a: return
    155   returns
    156 block 003b: 003b..003c
    157   003b: return
    158   returns
    159 block 003c: 003c..003d
    160   003c: return
    161   returns
    162 block 003d: 003d..003e
    163   003d: return
    164   returns
    165 block 003e: 003e..003f
    166   003e: return
    167   returns
    168 block 003f: 003f..0040
    169   003f: return
    170   returns
    171 block 0040: 0040..0041
    172   0040: return
    173   returns
    174 
    175 method test_jsr ()V
    176 block 0000: 0000..0003
    177   0000: jsr 0009
    178   next 0003
    179   next 0009
    180 block 0003: 0003..0008
    181   0003: jsr_w 0000000c
    182   next 0008
    183   next 000c
    184 block 0008: 0008..0009
    185   0008: return
    186   returns
    187 block 0009: 0009..000c
    188   0009: astore_0 // 00
    189   000a: ret 00
    190   returns
    191 block 000c: 000c..0011
    192   000c: astore_0 // 00
    193   000d: wide ret 0000
    194   returns
    195 
    196 method test_tableswitch ()V
    197 block 0000: 0000..0018
    198   0000: tableswitch
    199     +00000010: 0018
    200     +00000011: 0019
    201     default: 001a
    202   next 0018
    203   next 0019
    204   next 001a
    205 block 0018: 0018..0019
    206   0018: return
    207   returns
    208 block 0019: 0019..001a
    209   0019: return
    210   returns
    211 block 001a: 001a..001b
    212   001a: return
    213   returns
    214 
    215 method test_lookupswitch ()V
    216 block 0000: 0000..001c
    217   0000: lookupswitch
    218     +00000005: 001c
    219     +00000010: 001d
    220     default: 001e
    221   next 001c
    222   next 001d
    223   next 001e
    224 block 001c: 001c..001d
    225   001c: return
    226   returns
    227 block 001d: 001d..001e
    228   001d: return
    229   returns
    230 block 001e: 001e..001f
    231   001e: return
    232   returns
    233 
    234 method test_nonbranch ()V
    235 block 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
    256 block 0017: 0017..001a
    257   0017: ldc_w string{"y"}
    258   next 001a
    259 block 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
    288 block 003c: 003c..003d
    289   003c: laload
    290   next 003d
    291 block 003d: 003d..003e
    292   003d: faload
    293   next 003e
    294 block 003e: 003e..003f
    295   003e: daload
    296   next 003f
    297 block 003f: 003f..0040
    298   003f: aaload
    299   next 0040
    300 block 0040: 0040..0041
    301   0040: baload
    302   next 0041
    303 block 0041: 0041..0042
    304   0041: caload
    305   next 0042
    306 block 0042: 0042..0043
    307   0042: saload
    308   next 0043
    309 block 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
    337 block 0062: 0062..0063
    338   0062: lastore
    339   next 0063
    340 block 0063: 0063..0064
    341   0063: fastore
    342   next 0064
    343 block 0064: 0064..0065
    344   0064: dastore
    345   next 0065
    346 block 0065: 0065..0066
    347   0065: aastore
    348   next 0066
    349 block 0066: 0066..0067
    350   0066: bastore
    351   next 0067
    352 block 0067: 0067..0068
    353   0067: castore
    354   next 0068
    355 block 0068: 0068..0069
    356   0068: sastore
    357   next 0069
    358 block 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
    382 block 007f: 007f..0080
    383   007f: ldiv
    384   next 0080
    385 block 0080: 0080..0083
    386   0080: fdiv
    387   0081: ddiv
    388   0082: irem
    389   next 0083
    390 block 0083: 0083..0084
    391   0083: lrem
    392   next 0084
    393 block 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
    435 block 00b0: 00b0..00b3
    436   00b0: putstatic field{blort.x:I}
    437   next 00b3
    438 block 00b3: 00b3..00b6
    439   00b3: getfield field{blort.x:I}
    440   next 00b6
    441 block 00b6: 00b6..00b9
    442   00b6: putfield field{blort.x:I}
    443   next 00b9
    444 block 00b9: 00b9..00bc
    445   00b9: invokevirtual method{blort.x:()V}
    446   next 00bc
    447 block 00bc: 00bc..00bf
    448   00bc: invokespecial method{blort.x:()V}
    449   next 00bf
    450 block 00bf: 00bf..00c2
    451   00bf: invokestatic method{blort.x:()V}
    452   next 00c2
    453 block 00c2: 00c2..00c7
    454   00c2: invokeinterface ifaceMethod{blort.x:()V}, 0001
    455   next 00c7
    456 block 00c7: 00c7..00ca
    457   00c7: new type{blort}
    458   next 00ca
    459 block 00ca: 00ca..00cc
    460   00ca: newarray int
    461   next 00cc
    462 block 00cc: 00cc..00cf
    463   00cc: anewarray type{blort}
    464   next 00cf
    465 block 00cf: 00cf..00d0
    466   00cf: arraylength
    467   next 00d0
    468 block 00d0: 00d0..00d3
    469   00d0: checkcast type{blort}
    470   next 00d3
    471 block 00d3: 00d3..00d6
    472   00d3: instanceof type{blort}
    473   next 00d6
    474 block 00d6: 00d6..00d7
    475   00d6: monitorenter
    476   next 00d7
    477 block 00d7: 00d7..00d8
    478   00d7: monitorexit
    479   next 00d8
    480 block 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
    494 block 010a: 010a..010b
    495   010a: return
    496   returns
    497