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