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_deadend1 ()V 12 block 0000: 0000..0001 13 0000: return 14 returns 15 dead code 0001..0002 16 17 method test_deadend2 ()V 18 block 0000: 0000..0001 19 0000: ireturn 20 returns 21 dead code 0001..0003 22 23 method test_deadend3 ()V 24 block 0000: 0000..0002 25 0000: aconst_null 26 0001: athrow 27 returns 28 dead code 0002..0005 29 30 method test_dead_exception_handler ()V 31 block 0000: 0000..0001 32 0000: return 33 returns 34 dead code 0001..0007 35 36 method test_dead_goto ()V 37 block 0000: 0000..0003 38 0000: goto 0004 39 next 0004 40 dead code 0003..0004 41 block 0004: 0004..0005 42 0004: return 43 returns 44 45 method test_dead_ret ()V 46 block 0000: 0000..0003 47 0000: ifeq 0006 48 next 0003 49 next 0006 50 block 0003: 0003..0005 51 0003: ret 00 52 returns 53 dead code 0005..0006 54 block 0006: 0006..0007 55 0006: return 56 returns 57 58 method test_dead_tableswitch ()V 59 block 0000: 0000..0014 60 0000: tableswitch 61 default: 001b 62 next 001b 63 dead code 0014..001b 64 block 001b: 001b..001c 65 001b: return 66 returns 67 68 method test_dead_lookupswitch ()V 69 block 0000: 0000..001c 70 0000: lookupswitch 71 default: 001e 72 next 001e 73 dead code 001c..001e 74 block 001e: 001e..001f 75 001e: return 76 returns 77 78 method test_dead_ireturn ()V 79 block 0000: 0000..0003 80 0000: ifeq 0005 81 next 0003 82 next 0005 83 block 0003: 0003..0004 84 0003: ireturn 85 returns 86 dead code 0004..0005 87 block 0005: 0005..0006 88 0005: return 89 returns 90 91 method test_dead_lreturn ()V 92 block 0000: 0000..0003 93 0000: ifeq 0005 94 next 0003 95 next 0005 96 block 0003: 0003..0004 97 0003: lreturn 98 returns 99 dead code 0004..0005 100 block 0005: 0005..0006 101 0005: return 102 returns 103 104 method test_dead_freturn ()V 105 block 0000: 0000..0003 106 0000: ifeq 0005 107 next 0003 108 next 0005 109 block 0003: 0003..0004 110 0003: freturn 111 returns 112 dead code 0004..0005 113 block 0005: 0005..0006 114 0005: return 115 returns 116 117 method test_dead_dreturn ()V 118 block 0000: 0000..0003 119 0000: ifeq 0005 120 next 0003 121 next 0005 122 block 0003: 0003..0004 123 0003: dreturn 124 returns 125 dead code 0004..0005 126 block 0005: 0005..0006 127 0005: return 128 returns 129 130 method test_dead_areturn ()V 131 block 0000: 0000..0003 132 0000: ifeq 0005 133 next 0003 134 next 0005 135 block 0003: 0003..0004 136 0003: areturn 137 returns 138 dead code 0004..0005 139 block 0005: 0005..0006 140 0005: return 141 returns 142 143 method test_dead_return ()V 144 block 0000: 0000..0003 145 0000: ifeq 0005 146 next 0003 147 next 0005 148 block 0003: 0003..0004 149 0003: return 150 returns 151 dead code 0004..0005 152 block 0005: 0005..0006 153 0005: return 154 returns 155 156 method test_dead_athrow ()V 157 block 0000: 0000..0003 158 0000: ifeq 0005 159 next 0003 160 next 0005 161 block 0003: 0003..0004 162 0003: athrow 163 returns 164 dead code 0004..0005 165 block 0005: 0005..0006 166 0005: return 167 returns 168 169 method test_dead_wideret ()V 170 block 0000: 0000..0003 171 0000: ifeq 0008 172 next 0003 173 next 0008 174 block 0003: 0003..0007 175 0003: wide ret 0100 176 returns 177 dead code 0007..0008 178 block 0008: 0008..0009 179 0008: return 180 returns 181 182 method test_dead_goto_w ()V 183 block 0000: 0000..0005 184 0000: goto_w 00000006 185 next 0006 186 dead code 0005..0006 187 block 0006: 0006..0007 188 0006: return 189 returns 190