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