blob: ba61996364d6a038ea62c46dd19fa95d748a676d (
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
|
Generated: ./blort.class
reading blort.class...
method <init> ()V
first 0002
block 0002
blort.j:@0000: move-param-object(0) v0:NffffLblort; <- .
blort.j:@0000: goto . <- .
next 0000
block 0000
pred 0002
blort.j:@0000: move-object v2:NffffLblort; <- v0:NffffLblort;
blort.j:@0001: move-object v5:NffffLblort; <- v2:NffffLblort;
blort.j:@0001: move-object v2:NffffLblort; <- v5:NffffLblort;
blort.j:@0001: move-object v3:NffffLblort; <- v5:NffffLblort;
blort.j:@0002: move-object v5:NffffLblort; <- v3:NffffLblort;
blort.j:@0002: move-object v3:NffffLblort; <- v5:NffffLblort;
blort.j:@0002: move-object v4:NffffLblort; <- v5:NffffLblort;
blort.j:@0003: move-object v1:NffffLblort; <- v4:NffffLblort;
blort.j:@0005: goto . <- .
next 0003
block 0003
pred 0000
blort.j:@0005: return-void . <- .
returns
method test_jsr ()Ljava/lang/Object;
first 005c
block 005c
blort.j:@0000: move-param-object(0) v0:Lblort; <- .
blort.j:@0000: goto . <- .
next 0000
block 0000
pred 005c
blort.j:@0000: move-object v3:Lblort; <- v0:Lblort;
blort.j:@0000: goto . <- .
next 0001
block 0004
pred 0065
blort.j:@0004: move-object v4:Lblort; <- v0:Lblort;
blort.j:@0006: const-int(10) v4:I=10 <- .
blort.j:@0008: move-int v0:I=10 <- v4:I=10
blort.j:@0008: goto . <- .
next 0009
block 000c
pred 006e
blort.j:@000c: move-int v4:I=10 <- v0:I=10
blort.j:@000c: goto . <- .
next 000e
block 005d
pred 006b
pred 0074
pred 0075
blort.j:@002c: return-object . <- v0:Ljava/lang/Object;
returns
block 0063
pred 0001
blort.j:@0012: goto . <- .
next 0064
block 0066
pred 0064
blort.j:@001b: move-object v7:Lblort; <- v3:Lblort;
blort.j:@001b: move-object v3:Lblort; <- v7:Lblort;
blort.j:@001b: move-object v4:Lblort; <- v7:Lblort;
blort.j:@001c: move-object v7:Lblort; <- v4:Lblort;
blort.j:@001c: move-object v4:Lblort; <- v7:Lblort;
blort.j:@001c: move-object v5:Lblort; <- v7:Lblort;
blort.j:@001d: Rop{invoke-virtual . <- Lblort; call throws <any>}(blort.test_
jsr:()V catch java.lang.Throwable) . <- v5:Lblort;
next 0067
next 0068 *
block 0068
pred 0066
blort.j:@0020: if-nez-object . <- v4:Lblort;
next 0069 *
next 006a
block 0069
pred 0068
@????: goto . <- .
next 0065
block 006a
pred 0068
@????: goto . <- .
next 0065
block 0067
pred 0066
blort.j:@002d: Rop{move-exception Ljava/lang/Throwable; <- . flows} v3:Ljava/
lang/Throwable; <- .
blort.j:@002d: goto . <- .
next 006b
block 006b
pred 0067
blort.j:@002d: move-object v0:Ljava/lang/Class;=java.lang.Throwable <- v3:Lja
va/lang/Class;=java.lang.Throwable
blort.j:@002d: goto . <- .
next 005d
block 0064
pred 0063
@????: goto . <- .
next 0066
block 0065
pred 0069
pred 006a
@????: goto . <- .
next 0004
block 0001
pred 0000
@????: goto . <- .
next 0063
block 006c
pred 0009
blort.j:@0012: goto . <- .
next 006d
block 006f
pred 006d
blort.j:@001b: move-object v7:Lblort; <- v3:Lblort;
blort.j:@001b: move-object v3:Lblort; <- v7:Lblort;
blort.j:@001b: move-object v4:Lblort; <- v7:Lblort;
blort.j:@001c: move-object v7:Lblort; <- v4:Lblort;
blort.j:@001c: move-object v4:Lblort; <- v7:Lblort;
blort.j:@001c: move-object v5:Lblort; <- v7:Lblort;
blort.j:@001d: Rop{invoke-virtual . <- Lblort; call throws <any>}(blort.test_
jsr:()V catch java.lang.Throwable) . <- v5:Lblort;
next 0070
next 0071 *
block 0071
pred 006f
blort.j:@0020: if-nez-object . <- v4:Lblort;
next 0072 *
next 0073
block 0072
pred 0071
@????: goto . <- .
next 006e
block 0073
pred 0071
@????: goto . <- .
next 006e
block 0070
pred 006f
blort.j:@002d: Rop{move-exception Ljava/lang/Throwable; <- . flows} v3:Ljava/
lang/Throwable; <- .
blort.j:@002d: goto . <- .
next 0074
block 0074
pred 0070
blort.j:@002d: move-object v0:Ljava/lang/Class;=java.lang.Throwable <- v3:Lja
va/lang/Class;=java.lang.Throwable
blort.j:@002d: goto . <- .
next 005d
block 006d
pred 006c
@????: goto . <- .
next 006f
block 006e
pred 0072
pred 0073
@????: goto . <- .
next 000c
block 0009
pred 0004
@????: goto . <- .
next 006c
block 0075
pred 000e
blort.j:@002c: move-object v0:Lblort; <- v3:Lblort;
blort.j:@002c: goto . <- .
next 005d
block 000e
pred 000c
@????: goto . <- .
next 0075
|