xref: /aosp_15_r20/dalvik/dx/tests/083-ssa-phi-placement/expected.txt (revision 055d459012065f78d96b68be8421640240ddf631)
1*055d4590SKeyi Guireading Blort.class...
2*055d4590SKeyi Guimethod <init> ()V
3*055d4590SKeyi Guifirst 0007
4*055d4590SKeyi Guiblock 0000
5*055d4590SKeyi Gui  pred 0005
6*055d4590SKeyi Gui  live in:{}
7*055d4590SKeyi Gui  Blort.java:17@0000: move-object v1:NffffLBlort; <- v0:NffffLBlort;
8*055d4590SKeyi Gui  Blort.java:17@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <an
9*055d4590SKeyi Gui  y>}(java.lang.Object.<init>:()V catch) . <- v1:NffffLBlort;
10*055d4590SKeyi Gui  next 0004
11*055d4590SKeyi Gui  live out:{}
12*055d4590SKeyi Guiblock 0004
13*055d4590SKeyi Gui  pred 0000
14*055d4590SKeyi Gui  live in:{}
15*055d4590SKeyi Gui  Blort.java:17@0004: goto . <- .
16*055d4590SKeyi Gui  next 0006
17*055d4590SKeyi Gui  live out:{}
18*055d4590SKeyi Guiblock 0005
19*055d4590SKeyi Gui  pred 0007
20*055d4590SKeyi Gui  live in:{}
21*055d4590SKeyi Gui  Blort.java:17@0000: move-param-object(0) v0:NffffLBlort; <- .
22*055d4590SKeyi Gui  Blort.java:17@0000: goto . <- .
23*055d4590SKeyi Gui  next 0000
24*055d4590SKeyi Gui  live out:{}
25*055d4590SKeyi Guiblock 0006
26*055d4590SKeyi Gui  pred 0004
27*055d4590SKeyi Gui  live in:{}
28*055d4590SKeyi Gui  Blort.java:17@0004: return-void . <- .
29*055d4590SKeyi Gui  returns
30*055d4590SKeyi Gui  live out:{}
31*055d4590SKeyi Guiblock 0007
32*055d4590SKeyi Gui  live in:{}
33*055d4590SKeyi Gui  @????: goto . <- .
34*055d4590SKeyi Gui  next 0005
35*055d4590SKeyi Gui  live out:{}
36*055d4590SKeyi Gui
37*055d4590SKeyi Guimethod phiTest ()I
38*055d4590SKeyi Guifirst 0025
39*055d4590SKeyi Guiblock 0000
40*055d4590SKeyi Gui  pred 0023
41*055d4590SKeyi Gui  live in:{}
42*055d4590SKeyi Gui  Blort.java:21@0000: const-int(1) v4:I=1 <- .
43*055d4590SKeyi Gui  Blort.java:21@0001: move-int v1:I=1 <- v4:I=1
44*055d4590SKeyi Gui  Blort.java:22@0002: const-int(1) v4:I=1 <- .
45*055d4590SKeyi Gui  Blort.java:22@0003: move-int v2:I=1 <- v4:I=1
46*055d4590SKeyi Gui  Blort.java:23@0004: const-int(0) v4:I=0 <- .
47*055d4590SKeyi Gui  Blort.java:23@0005: move-int v3:I=0 <- v4:I=0
48*055d4590SKeyi Gui  Blort.java:23@0005: goto . <- .
49*055d4590SKeyi Gui  next 0026
50*055d4590SKeyi Gui  live out:{}
51*055d4590SKeyi Guiblock 0006
52*055d4590SKeyi Gui  pred 0026
53*055d4590SKeyi Gui  live in:{}
54*055d4590SKeyi Gui  Blort.java:25@0006: move-int v4:I <- v3:I
55*055d4590SKeyi Gui  Blort.java:25@0007: const-int(100) v5:I=100 <- .
56*055d4590SKeyi Gui  Blort.java:25@0009: if-ge-int . <- v4:I v5:I=100
57*055d4590SKeyi Gui  next 000c *
58*055d4590SKeyi Gui  next 0022
59*055d4590SKeyi Gui  live out:{}
60*055d4590SKeyi Guiblock 000c
61*055d4590SKeyi Gui  pred 0006
62*055d4590SKeyi Gui  live in:{}
63*055d4590SKeyi Gui  Blort.java:26@000c: move-int v4:I <- v2:I
64*055d4590SKeyi Gui  Blort.java:26@000d: const-int(20) v5:I=20 <- .
65*055d4590SKeyi Gui  Blort.java:26@000f: if-ge-int . <- v4:I v5:I=20
66*055d4590SKeyi Gui  next 0012 *
67*055d4590SKeyi Gui  next 001a
68*055d4590SKeyi Gui  live out:{}
69*055d4590SKeyi Guiblock 0012
70*055d4590SKeyi Gui  pred 000c
71*055d4590SKeyi Gui  live in:{}
72*055d4590SKeyi Gui  Blort.java:27@0012: move-int v4:I <- v1:I
73*055d4590SKeyi Gui  Blort.java:27@0013: move-int v2:I <- v4:I
74*055d4590SKeyi Gui  Blort.java:28@0014: add-const-int(1) v3:I <- v3:I
75*055d4590SKeyi Gui  Blort.java:28@0017: goto . <- .
76*055d4590SKeyi Gui  next 0026
77*055d4590SKeyi Gui  live out:{}
78*055d4590SKeyi Guiblock 001a
79*055d4590SKeyi Gui  pred 000c
80*055d4590SKeyi Gui  live in:{}
81*055d4590SKeyi Gui  Blort.java:30@001a: move-int v4:I <- v3:I
82*055d4590SKeyi Gui  Blort.java:30@001b: move-int v2:I <- v4:I
83*055d4590SKeyi Gui  Blort.java:31@001c: add-const-int(2) v3:I <- v3:I
84*055d4590SKeyi Gui  Blort.java:31@001f: goto . <- .
85*055d4590SKeyi Gui  next 0026
86*055d4590SKeyi Gui  live out:{}
87*055d4590SKeyi Guiblock 0022
88*055d4590SKeyi Gui  pred 0006
89*055d4590SKeyi Gui  live in:{}
90*055d4590SKeyi Gui  Blort.java:35@0022: move-int v4:I <- v2:I
91*055d4590SKeyi Gui  Blort.java:35@0023: move-int v0:I <- v4:I
92*055d4590SKeyi Gui  Blort.java:35@0023: goto . <- .
93*055d4590SKeyi Gui  next 0024
94*055d4590SKeyi Gui  live out:{}
95*055d4590SKeyi Guiblock 0023
96*055d4590SKeyi Gui  pred 0025
97*055d4590SKeyi Gui  live in:{}
98*055d4590SKeyi Gui  Blort.java:21@0000: move-param-object(0) v0:LBlort; <- .
99*055d4590SKeyi Gui  Blort.java:21@0000: goto . <- .
100*055d4590SKeyi Gui  next 0000
101*055d4590SKeyi Gui  live out:{}
102*055d4590SKeyi Guiblock 0024
103*055d4590SKeyi Gui  pred 0022
104*055d4590SKeyi Gui  live in:{}
105*055d4590SKeyi Gui  Blort.java:35@0023: return-int . <- v0:I
106*055d4590SKeyi Gui  returns
107*055d4590SKeyi Gui  live out:{}
108*055d4590SKeyi Guiblock 0025
109*055d4590SKeyi Gui  live in:{}
110*055d4590SKeyi Gui  @????: goto . <- .
111*055d4590SKeyi Gui  next 0023
112*055d4590SKeyi Gui  live out:{}
113*055d4590SKeyi Guiblock 0026
114*055d4590SKeyi Gui  pred 0000
115*055d4590SKeyi Gui  pred 0012
116*055d4590SKeyi Gui  pred 001a
117*055d4590SKeyi Gui  live in:{}
118*055d4590SKeyi Gui  @????: phi v5:V <- .
119*055d4590SKeyi Gui  @????: phi v4:V <- .
120*055d4590SKeyi Gui  @????: phi v3:V <- .
121*055d4590SKeyi Gui  @????: phi v2:V <- .
122*055d4590SKeyi Gui  @????: goto . <- .
123*055d4590SKeyi Gui  next 0006
124*055d4590SKeyi Gui  live out:{}
125*055d4590SKeyi Gui
126*055d4590SKeyi Guimethod noVars ()V
127*055d4590SKeyi Guifirst 0003
128*055d4590SKeyi Guiblock 0000
129*055d4590SKeyi Gui  pred 0001
130*055d4590SKeyi Gui  live in:{}
131*055d4590SKeyi Gui  Blort.java:42@0000: goto . <- .
132*055d4590SKeyi Gui  next 0002
133*055d4590SKeyi Gui  live out:{}
134*055d4590SKeyi Guiblock 0001
135*055d4590SKeyi Gui  pred 0003
136*055d4590SKeyi Gui  live in:{}
137*055d4590SKeyi Gui  Blort.java:42@0000: goto . <- .
138*055d4590SKeyi Gui  next 0000
139*055d4590SKeyi Gui  live out:{}
140*055d4590SKeyi Guiblock 0002
141*055d4590SKeyi Gui  pred 0000
142*055d4590SKeyi Gui  live in:{}
143*055d4590SKeyi Gui  Blort.java:42@0000: return-void . <- .
144*055d4590SKeyi Gui  returns
145*055d4590SKeyi Gui  live out:{}
146*055d4590SKeyi Guiblock 0003
147*055d4590SKeyi Gui  live in:{}
148*055d4590SKeyi Gui  @????: goto . <- .
149*055d4590SKeyi Gui  next 0001
150*055d4590SKeyi Gui  live out:{}
151*055d4590SKeyi Gui
152*055d4590SKeyi Guimethod getOption (I)Ljava/lang/Object;
153*055d4590SKeyi Guifirst 0052
154*055d4590SKeyi Guiblock 0000
155*055d4590SKeyi Gui  pred 0046
156*055d4590SKeyi Gui  live in:{}
157*055d4590SKeyi Gui  Blort.java:51@0000: move-object v3:LBlort; <- v0:LBlort;
158*055d4590SKeyi Gui  Blort.java:51@0001: get-field-object(Blort.fd:Ljava/lang/Object; catch) . <-
159*055d4590SKeyi Gui  v3:LBlort;
160*055d4590SKeyi Gui  next 004d
161*055d4590SKeyi Gui  live out:{}
162*055d4590SKeyi Guiblock 0004
163*055d4590SKeyi Gui  pred 004d
164*055d4590SKeyi Gui  live in:{}
165*055d4590SKeyi Gui  Blort.java:51@0004: if-nez-object . <- v3:Ljava/lang/Object;
166*055d4590SKeyi Gui  next 0007 *
167*055d4590SKeyi Gui  next 0011
168*055d4590SKeyi Gui  live out:{}
169*055d4590SKeyi Guiblock 0007
170*055d4590SKeyi Gui  pred 0004
171*055d4590SKeyi Gui  live in:{}
172*055d4590SKeyi Gui  Blort.java:52@0007: new-instance(java.lang.RuntimeException catch) . <- .
173*055d4590SKeyi Gui  next 004e
174*055d4590SKeyi Gui  live out:{}
175*055d4590SKeyi Guiblock 000a
176*055d4590SKeyi Gui  pred 004e
177*055d4590SKeyi Gui  live in:{}
178*055d4590SKeyi Gui  Blort.java:52@000a: move-object v6:N0007Ljava/lang/RuntimeException; <- v3:N0
179*055d4590SKeyi Gui  007Ljava/lang/RuntimeException;
180*055d4590SKeyi Gui  Blort.java:52@000a: move-object v3:N0007Ljava/lang/RuntimeException; <- v6:N0
181*055d4590SKeyi Gui  007Ljava/lang/RuntimeException;
182*055d4590SKeyi Gui  Blort.java:52@000a: move-object v4:N0007Ljava/lang/RuntimeException; <- v6:N0
183*055d4590SKeyi Gui  007Ljava/lang/RuntimeException;
184*055d4590SKeyi Gui  Blort.java:52@000b: const-object("socket not created" catch) . <- .
185*055d4590SKeyi Gui  next 004f
186*055d4590SKeyi Gui  live out:{}
187*055d4590SKeyi Guiblock 000d
188*055d4590SKeyi Gui  pred 004f
189*055d4590SKeyi Gui  live in:{}
190*055d4590SKeyi Gui  Blort.java:52@000d: Rop{invoke-direct . <- Ljava/lang/RuntimeException; Ljava
191*055d4590SKeyi Gui  /lang/String; call throws <any>}(java.lang.RuntimeException.<init>:(Ljava/lan
192*055d4590SKeyi Gui  g/String;)V catch) . <- v4:N0007Ljava/lang/RuntimeException; v5:Ljava/lang/St
193*055d4590SKeyi Gui  ring;="socket not created"
194*055d4590SKeyi Gui  next 0010
195*055d4590SKeyi Gui  live out:{}
196*055d4590SKeyi Guiblock 0010
197*055d4590SKeyi Gui  pred 000d
198*055d4590SKeyi Gui  live in:{}
199*055d4590SKeyi Gui  Blort.java:52@0010: throw(catch) . <- v3:Ljava/lang/RuntimeException;
200*055d4590SKeyi Gui  returns
201*055d4590SKeyi Gui  live out:{}
202*055d4590SKeyi Guiblock 0011
203*055d4590SKeyi Gui  pred 0004
204*055d4590SKeyi Gui  live in:{}
205*055d4590SKeyi Gui  Blort.java:55@0011: const-int(0) v3:I=0 <- .
206*055d4590SKeyi Gui  Blort.java:55@0012: move-int v2:I=0 <- v3:I=0
207*055d4590SKeyi Gui  Blort.java:56@0013: move-int v3:I <- v1:I
208*055d4590SKeyi Gui  Blort.java:56@0014: switch({1, 2}) . <- v3:I
209*055d4590SKeyi Gui  next 0030
210*055d4590SKeyi Gui  next 0030
211*055d4590SKeyi Gui  next 0039 *
212*055d4590SKeyi Gui  live out:{}
213*055d4590SKeyi Guiblock 0030
214*055d4590SKeyi Gui  pred 0011
215*055d4590SKeyi Gui  live in:{}
216*055d4590SKeyi Gui  Blort.java:60@0030: new-instance(java.lang.Integer catch) . <- .
217*055d4590SKeyi Gui  next 0050
218*055d4590SKeyi Gui  live out:{}
219*055d4590SKeyi Guiblock 0033
220*055d4590SKeyi Gui  pred 0050
221*055d4590SKeyi Gui  live in:{}
222*055d4590SKeyi Gui  Blort.java:60@0033: move-object v6:N0030Ljava/lang/Integer; <- v3:N0030Ljava/
223*055d4590SKeyi Gui  lang/Integer;
224*055d4590SKeyi Gui  Blort.java:60@0033: move-object v3:N0030Ljava/lang/Integer; <- v6:N0030Ljava/
225*055d4590SKeyi Gui  lang/Integer;
226*055d4590SKeyi Gui  Blort.java:60@0033: move-object v4:N0030Ljava/lang/Integer; <- v6:N0030Ljava/
227*055d4590SKeyi Gui  lang/Integer;
228*055d4590SKeyi Gui  Blort.java:60@0034: move-int v5:I <- v2:I
229*055d4590SKeyi Gui  Blort.java:60@0035: Rop{invoke-direct . <- Ljava/lang/Integer; I call throws
230*055d4590SKeyi Gui  <any>}(java.lang.Integer.<init>:(I)V catch) . <- v4:N0030Ljava/lang/Integer;
231*055d4590SKeyi Gui  v5:I
232*055d4590SKeyi Gui  next 0038
233*055d4590SKeyi Gui  live out:{}
234*055d4590SKeyi Guiblock 0038
235*055d4590SKeyi Gui  pred 0033
236*055d4590SKeyi Gui  live in:{}
237*055d4590SKeyi Gui  Blort.java:60@0038: move-object v0:Ljava/lang/Integer; <- v3:Ljava/lang/Integ
238*055d4590SKeyi Gui  er;
239*055d4590SKeyi Gui  Blort.java:60@0038: goto . <- .
240*055d4590SKeyi Gui  next 0047
241*055d4590SKeyi Gui  live out:{}
242*055d4590SKeyi Guiblock 0039
243*055d4590SKeyi Gui  pred 0011
244*055d4590SKeyi Gui  live in:{}
245*055d4590SKeyi Gui  Blort.java:63@0039: move-int v3:I <- v2:I
246*055d4590SKeyi Gui  Blort.java:63@003a: if-eqz-int . <- v3:I
247*055d4590SKeyi Gui  next 003d *
248*055d4590SKeyi Gui  next 0041
249*055d4590SKeyi Gui  live out:{}
250*055d4590SKeyi Guiblock 003d
251*055d4590SKeyi Gui  pred 0039
252*055d4590SKeyi Gui  live in:{}
253*055d4590SKeyi Gui  Blort.java:63@003d: const-int(1) v3:I=1 <- .
254*055d4590SKeyi Gui  Blort.java:63@003e: goto . <- .
255*055d4590SKeyi Gui  next 0042
256*055d4590SKeyi Gui  live out:{}
257*055d4590SKeyi Guiblock 0041
258*055d4590SKeyi Gui  pred 0039
259*055d4590SKeyi Gui  live in:{}
260*055d4590SKeyi Gui  Blort.java:63@0041: const-int(0) v3:I=0 <- .
261*055d4590SKeyi Gui  Blort.java:63@0041: goto . <- .
262*055d4590SKeyi Gui  next 0042
263*055d4590SKeyi Gui  live out:{}
264*055d4590SKeyi Guiblock 0042
265*055d4590SKeyi Gui  pred 003d
266*055d4590SKeyi Gui  pred 0041
267*055d4590SKeyi Gui  live in:{}
268*055d4590SKeyi Gui  @????: phi v3:V <- .
269*055d4590SKeyi Gui  Blort.java:63@0042: Rop{invoke-static . <- I call throws <any>}(java.lang.Boo
270*055d4590SKeyi Gui  lean.valueOf:(Z)Ljava/lang/Boolean; catch) . <- v3:I
271*055d4590SKeyi Gui  next 0051
272*055d4590SKeyi Gui  live out:{}
273*055d4590SKeyi Guiblock 0045
274*055d4590SKeyi Gui  pred 0051
275*055d4590SKeyi Gui  live in:{}
276*055d4590SKeyi Gui  Blort.java:63@0045: move-object v0:Ljava/lang/Boolean; <- v3:Ljava/lang/Boole
277*055d4590SKeyi Gui  an;
278*055d4590SKeyi Gui  Blort.java:63@0045: goto . <- .
279*055d4590SKeyi Gui  next 0047
280*055d4590SKeyi Gui  live out:{}
281*055d4590SKeyi Guiblock 0046
282*055d4590SKeyi Gui  pred 0052
283*055d4590SKeyi Gui  live in:{}
284*055d4590SKeyi Gui  Blort.java:51@0000: move-param-object(0) v0:LBlort; <- .
285*055d4590SKeyi Gui  Blort.java:51@0000: move-param-int(1) v1:I <- .
286*055d4590SKeyi Gui  Blort.java:51@0000: goto . <- .
287*055d4590SKeyi Gui  next 0000
288*055d4590SKeyi Gui  live out:{}
289*055d4590SKeyi Guiblock 0047
290*055d4590SKeyi Gui  pred 0038
291*055d4590SKeyi Gui  pred 0045
292*055d4590SKeyi Gui  live in:{}
293*055d4590SKeyi Gui  @????: phi v6:V <- .
294*055d4590SKeyi Gui  @????: phi v5:V <- .
295*055d4590SKeyi Gui  @????: phi v4:V <- .
296*055d4590SKeyi Gui  @????: phi v3:V <- .
297*055d4590SKeyi Gui  @????: phi v0:V <- .
298*055d4590SKeyi Gui  Blort.java:63@0045: return-object . <- v0:Ljava/lang/Object;
299*055d4590SKeyi Gui  returns
300*055d4590SKeyi Gui  live out:{}
301*055d4590SKeyi Guiblock 004d
302*055d4590SKeyi Gui  pred 0000
303*055d4590SKeyi Gui  live in:{}
304*055d4590SKeyi Gui  Blort.java:51@0001: Rop{move-result-pseudo Ljava/lang/Object; <- . flows} v3:
305*055d4590SKeyi Gui  Ljava/lang/Object; <- .
306*055d4590SKeyi Gui  Blort.java:51@0001: goto . <- .
307*055d4590SKeyi Gui  next 0004
308*055d4590SKeyi Gui  live out:{}
309*055d4590SKeyi Guiblock 004e
310*055d4590SKeyi Gui  pred 0007
311*055d4590SKeyi Gui  live in:{}
312*055d4590SKeyi Gui  Blort.java:52@0007: Rop{move-result-pseudo N0007Ljava/lang/RuntimeException;
313*055d4590SKeyi Gui  <- . flows} v3:N0007Ljava/lang/RuntimeException; <- .
314*055d4590SKeyi Gui  Blort.java:52@0007: goto . <- .
315*055d4590SKeyi Gui  next 000a
316*055d4590SKeyi Gui  live out:{}
317*055d4590SKeyi Guiblock 004f
318*055d4590SKeyi Gui  pred 000a
319*055d4590SKeyi Gui  live in:{}
320*055d4590SKeyi Gui  Blort.java:52@000b: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v5:
321*055d4590SKeyi Gui  Ljava/lang/String;="socket not created" <- .
322*055d4590SKeyi Gui  Blort.java:52@000b: goto . <- .
323*055d4590SKeyi Gui  next 000d
324*055d4590SKeyi Gui  live out:{}
325*055d4590SKeyi Guiblock 0050
326*055d4590SKeyi Gui  pred 0030
327*055d4590SKeyi Gui  live in:{}
328*055d4590SKeyi Gui  Blort.java:60@0030: Rop{move-result-pseudo N0030Ljava/lang/Integer; <- . flow
329*055d4590SKeyi Gui  s} v3:N0030Ljava/lang/Integer; <- .
330*055d4590SKeyi Gui  Blort.java:60@0030: goto . <- .
331*055d4590SKeyi Gui  next 0033
332*055d4590SKeyi Gui  live out:{}
333*055d4590SKeyi Guiblock 0051
334*055d4590SKeyi Gui  pred 0042
335*055d4590SKeyi Gui  live in:{}
336*055d4590SKeyi Gui  Blort.java:63@0042: Rop{move-result Ljava/lang/Boolean; <- . flows} v3:Ljava/
337*055d4590SKeyi Gui  lang/Boolean; <- .
338*055d4590SKeyi Gui  Blort.java:63@0042: goto . <- .
339*055d4590SKeyi Gui  next 0045
340*055d4590SKeyi Gui  live out:{}
341*055d4590SKeyi Guiblock 0052
342*055d4590SKeyi Gui  live in:{}
343*055d4590SKeyi Gui  @????: goto . <- .
344*055d4590SKeyi Gui  next 0046
345*055d4590SKeyi Gui  live out:{}
346