summaryrefslogtreecommitdiff
path: root/dx/tests/085-dex-jsr-ret/expected.txt
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