xref: /aosp_15_r20/tools/dexter/testdata/expected/hello.scratch_regs (revision f0dffb02cdb5c647d21204e89a92a1ffae2dad87)
1*f0dffb02SXin Li
2*f0dffb02SXin Limethod Base$Inner.<init>(Base):void
3*f0dffb02SXin Li{
4*f0dffb02SXin Li	.params "?"
5*f0dffb02SXin Li	.src "hello.java"
6*f0dffb02SXin Li	.line 8
7*f0dffb02SXin Li	    0| move-object/16 v14, v27
8*f0dffb02SXin Li	    3| move-object/16 v15, v28
9*f0dffb02SXin Li	    6| move-object/16 v13, v14
10*f0dffb02SXin Li	    9| move-object/16 v14, v15
11*f0dffb02SXin Li	   12| move-object/16 v12, v13
12*f0dffb02SXin Li	   15| move-object/16 v13, v14
13*f0dffb02SXin Li	.prologue_end
14*f0dffb02SXin Li	.line 8
15*f0dffb02SXin Li	   18| move-object v8, v12
16*f0dffb02SXin Li	.local v8, "this", Base$Inner
17*f0dffb02SXin Li	   19| move-object v9, v13
18*f0dffb02SXin Li	.local v9, "this$0", Base
19*f0dffb02SXin Li	   20| move-object v10, v8
20*f0dffb02SXin Li	   21| move-object v11, v9
21*f0dffb02SXin Li	   22| iput-object v11, v10, Base$Inner.this$0
22*f0dffb02SXin Li	   24| move-object v10, v8
23*f0dffb02SXin Li	   25| invoke-direct {v10}, java.lang.Object.<init>():void
24*f0dffb02SXin Li	   28| return-void
25*f0dffb02SXin Li}
26*f0dffb02SXin Li
27*f0dffb02SXin Limethod Base$Nested.<init>():void
28*f0dffb02SXin Li{
29*f0dffb02SXin Li	.src "hello.java"
30*f0dffb02SXin Li	.line 4
31*f0dffb02SXin Li	    0| move-object/16 v15, v25
32*f0dffb02SXin Li	    3| move-object/16 v14, v15
33*f0dffb02SXin Li	    6| move-object/16 v13, v14
34*f0dffb02SXin Li	.prologue_end
35*f0dffb02SXin Li	.line 4
36*f0dffb02SXin Li	    9| move-object v11, v13
37*f0dffb02SXin Li	.local v11, "this", Base$Nested
38*f0dffb02SXin Li	   10| move-object v12, v11
39*f0dffb02SXin Li	   11| invoke-direct {v12}, java.lang.Object.<init>():void
40*f0dffb02SXin Li	   14| return-void
41*f0dffb02SXin Li}
42*f0dffb02SXin Li
43*f0dffb02SXin Limethod Base.<init>():void
44*f0dffb02SXin Li{
45*f0dffb02SXin Li	.src "hello.java"
46*f0dffb02SXin Li	.line 2
47*f0dffb02SXin Li	    0| move-object/16 v15, v25
48*f0dffb02SXin Li	    3| move-object/16 v14, v15
49*f0dffb02SXin Li	    6| move-object/16 v13, v14
50*f0dffb02SXin Li	.prologue_end
51*f0dffb02SXin Li	.line 2
52*f0dffb02SXin Li	    9| move-object v11, v13
53*f0dffb02SXin Li	.local v11, "this", Base
54*f0dffb02SXin Li	   10| move-object v12, v11
55*f0dffb02SXin Li	   11| invoke-direct {v12}, java.lang.Object.<init>():void
56*f0dffb02SXin Li	   14| return-void
57*f0dffb02SXin Li}
58*f0dffb02SXin Li
59*f0dffb02SXin Limethod Base.test(int):void
60*f0dffb02SXin Li{
61*f0dffb02SXin Li	.params "?"
62*f0dffb02SXin Li	.src "hello.java"
63*f0dffb02SXin Li	.line 14
64*f0dffb02SXin Li	    0| move-object/16 v14, v29
65*f0dffb02SXin Li	    3| move/16 v15, v30
66*f0dffb02SXin Li	    6| move-object/16 v13, v14
67*f0dffb02SXin Li	    9| move/16 v14, v15
68*f0dffb02SXin Li	   12| move-object/16 v12, v13
69*f0dffb02SXin Li	   15| move/16 v13, v14
70*f0dffb02SXin Li	.prologue_end
71*f0dffb02SXin Li	.line 14
72*f0dffb02SXin Li	   18| move-object v6, v12
73*f0dffb02SXin Li	.local v6, "this", Base
74*f0dffb02SXin Li	   19| move v7, v13
75*f0dffb02SXin Li	.local v7, "n", int
76*f0dffb02SXin Li	   20| invoke-static {}, Hello.printStackTrace():void
77*f0dffb02SXin Li	.line 15
78*f0dffb02SXin Li	   23| sget-object v8, java.lang.System.out
79*f0dffb02SXin Li	   25| new-instance v9, java.lang.StringBuilder
80*f0dffb02SXin Li	   27| move-object v11, v9
81*f0dffb02SXin Li	   28| move-object v9, v11
82*f0dffb02SXin Li	   29| move-object v10, v11
83*f0dffb02SXin Li	   30| invoke-direct {v10}, java.lang.StringBuilder.<init>():void
84*f0dffb02SXin Li	   33| const-string v10, "Base.test "
85*f0dffb02SXin Li	   35| invoke-virtual {v9,v10}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
86*f0dffb02SXin Li	   38| move-result-object v9
87*f0dffb02SXin Li	   39| move v10, v7
88*f0dffb02SXin Li	   40| invoke-virtual {v9,v10}, java.lang.StringBuilder.append(int):java.lang.StringBuilder
89*f0dffb02SXin Li	   43| move-result-object v9
90*f0dffb02SXin Li	   44| invoke-virtual {v9}, java.lang.StringBuilder.toString():java.lang.String
91*f0dffb02SXin Li	   47| move-result-object v9
92*f0dffb02SXin Li	   48| invoke-virtual {v8,v9}, java.io.PrintStream.println(java.lang.String):void
93*f0dffb02SXin Li	.line 16
94*f0dffb02SXin Li	   51| return-void
95*f0dffb02SXin Li}
96*f0dffb02SXin Li
97*f0dffb02SXin Limethod Derived.<init>():void
98*f0dffb02SXin Li{
99*f0dffb02SXin Li	.src "hello.java"
100*f0dffb02SXin Li	.line 19
101*f0dffb02SXin Li	    0| move-object/16 v15, v25
102*f0dffb02SXin Li	    3| move-object/16 v14, v15
103*f0dffb02SXin Li	    6| move-object/16 v13, v14
104*f0dffb02SXin Li	.prologue_end
105*f0dffb02SXin Li	.line 19
106*f0dffb02SXin Li	    9| move-object v11, v13
107*f0dffb02SXin Li	.local v11, "this", Derived
108*f0dffb02SXin Li	   10| move-object v12, v11
109*f0dffb02SXin Li	   11| invoke-direct {v12}, Base.<init>():void
110*f0dffb02SXin Li	   14| return-void
111*f0dffb02SXin Li}
112*f0dffb02SXin Li
113*f0dffb02SXin Limethod Derived.test(int):void
114*f0dffb02SXin Li{
115*f0dffb02SXin Li	.params "?"
116*f0dffb02SXin Li	.src "hello.java"
117*f0dffb02SXin Li	.line 23
118*f0dffb02SXin Li	    0| move-object/16 v14, v29
119*f0dffb02SXin Li	    3| move/16 v15, v30
120*f0dffb02SXin Li	    6| move-object/16 v13, v14
121*f0dffb02SXin Li	    9| move/16 v14, v15
122*f0dffb02SXin Li	   12| move-object/16 v12, v13
123*f0dffb02SXin Li	   15| move/16 v13, v14
124*f0dffb02SXin Li	.prologue_end
125*f0dffb02SXin Li	.line 23
126*f0dffb02SXin Li	   18| move-object v6, v12
127*f0dffb02SXin Li	.local v6, "this", Derived
128*f0dffb02SXin Li	   19| move v7, v13
129*f0dffb02SXin Li	.local v7, "n", int
130*f0dffb02SXin Li	   20| sget-object v8, java.lang.System.out
131*f0dffb02SXin Li	   22| new-instance v9, java.lang.StringBuilder
132*f0dffb02SXin Li	   24| move-object v11, v9
133*f0dffb02SXin Li	   25| move-object v9, v11
134*f0dffb02SXin Li	   26| move-object v10, v11
135*f0dffb02SXin Li	   27| invoke-direct {v10}, java.lang.StringBuilder.<init>():void
136*f0dffb02SXin Li	   30| const-string v10, "Derived.test "
137*f0dffb02SXin Li	   32| invoke-virtual {v9,v10}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
138*f0dffb02SXin Li	   35| move-result-object v9
139*f0dffb02SXin Li	   36| move v10, v7
140*f0dffb02SXin Li	   37| invoke-virtual {v9,v10}, java.lang.StringBuilder.append(int):java.lang.StringBuilder
141*f0dffb02SXin Li	   40| move-result-object v9
142*f0dffb02SXin Li	   41| invoke-virtual {v9}, java.lang.StringBuilder.toString():java.lang.String
143*f0dffb02SXin Li	   44| move-result-object v9
144*f0dffb02SXin Li	   45| invoke-virtual {v8,v9}, java.io.PrintStream.println(java.lang.String):void
145*f0dffb02SXin Li	.line 24
146*f0dffb02SXin Li	   48| return-void
147*f0dffb02SXin Li}
148*f0dffb02SXin Li
149*f0dffb02SXin Limethod Hello.<init>():void
150*f0dffb02SXin Li{
151*f0dffb02SXin Li	.src "hello.java"
152*f0dffb02SXin Li	.line 27
153*f0dffb02SXin Li	    0| move-object/16 v15, v25
154*f0dffb02SXin Li	    3| move-object/16 v14, v15
155*f0dffb02SXin Li	    6| move-object/16 v13, v14
156*f0dffb02SXin Li	.prologue_end
157*f0dffb02SXin Li	.line 27
158*f0dffb02SXin Li	    9| move-object v11, v13
159*f0dffb02SXin Li	.local v11, "this", Hello
160*f0dffb02SXin Li	   10| move-object v12, v11
161*f0dffb02SXin Li	   11| invoke-direct {v12}, java.lang.Object.<init>():void
162*f0dffb02SXin Li	   14| return-void
163*f0dffb02SXin Li}
164*f0dffb02SXin Li
165*f0dffb02SXin Limethod Hello.main(java.lang.String[]):void
166*f0dffb02SXin Li{
167*f0dffb02SXin Li	.params "?"
168*f0dffb02SXin Li	.src "hello.java"
169*f0dffb02SXin Li	.line 31
170*f0dffb02SXin Li	    0| move-object/16 v15, v29
171*f0dffb02SXin Li	    3| move-object/16 v14, v15
172*f0dffb02SXin Li	    6| move-object/16 v13, v14
173*f0dffb02SXin Li	.prologue_end
174*f0dffb02SXin Li	.line 31
175*f0dffb02SXin Li	    9| move-object v7, v13
176*f0dffb02SXin Li	.local v7, "args", java.lang.String[]
177*f0dffb02SXin Li	   10| sget-object v9, java.lang.System.out
178*f0dffb02SXin Li	   12| const-string v10, "-------------------------------------------------------\n"
179*f0dffb02SXin Li	   14| const/4 v11, #+0 (0x00000000 | 0.00000)
180*f0dffb02SXin Li	   15| new-array v11, v11, java.lang.Object[]
181*f0dffb02SXin Li	   17| invoke-virtual {v9,v10,v11}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
182*f0dffb02SXin Li	   20| move-result-object v9
183*f0dffb02SXin Li	.line 32
184*f0dffb02SXin Li	   21| sget-object v9, java.lang.System.out
185*f0dffb02SXin Li	   23| const-string v10, "Hello, world (original)"
186*f0dffb02SXin Li	   25| invoke-virtual {v9,v10}, java.io.PrintStream.println(java.lang.String):void
187*f0dffb02SXin Li	.line 36
188*f0dffb02SXin Li	   28| sget-object v9, java.lang.System.out
189*f0dffb02SXin Li	   30| const-string v10, "-------------------------------------------------------\n"
190*f0dffb02SXin Li	   32| const/4 v11, #+0 (0x00000000 | 0.00000)
191*f0dffb02SXin Li	   33| new-array v11, v11, java.lang.Object[]
192*f0dffb02SXin Li	   35| invoke-virtual {v9,v10,v11}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
193*f0dffb02SXin Li	   38| move-result-object v9
194*f0dffb02SXin Li	.line 37
195*f0dffb02SXin Li	   39| new-instance v9, Base
196*f0dffb02SXin Li	   41| move-object v12, v9
197*f0dffb02SXin Li	   42| move-object v9, v12
198*f0dffb02SXin Li	   43| move-object v10, v12
199*f0dffb02SXin Li	   44| invoke-direct {v10}, Base.<init>():void
200*f0dffb02SXin Li	   47| move-object v8, v9
201*f0dffb02SXin Li	.line 38
202*f0dffb02SXin Li	.local v8, "x", Base
203*f0dffb02SXin Li	   48| move-object v9, v8
204*f0dffb02SXin Li	   49| const/4 v10, #+1 (0x00000001 | 1.40130e-45)
205*f0dffb02SXin Li	   50| invoke-virtual {v9,v10}, Base.test(int):void
206*f0dffb02SXin Li	.line 40
207*f0dffb02SXin Li	   53| sget-object v9, java.lang.System.out
208*f0dffb02SXin Li	   55| const-string v10, "-------------------------------------------------------\n"
209*f0dffb02SXin Li	   57| const/4 v11, #+0 (0x00000000 | 0.00000)
210*f0dffb02SXin Li	   58| new-array v11, v11, java.lang.Object[]
211*f0dffb02SXin Li	   60| invoke-virtual {v9,v10,v11}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
212*f0dffb02SXin Li	   63| move-result-object v9
213*f0dffb02SXin Li	.line 41
214*f0dffb02SXin Li	   64| new-instance v9, Derived
215*f0dffb02SXin Li	   66| move-object v12, v9
216*f0dffb02SXin Li	   67| move-object v9, v12
217*f0dffb02SXin Li	   68| move-object v10, v12
218*f0dffb02SXin Li	   69| invoke-direct {v10}, Derived.<init>():void
219*f0dffb02SXin Li	   72| move-object v8, v9
220*f0dffb02SXin Li	.line 42
221*f0dffb02SXin Li	   73| move-object v9, v8
222*f0dffb02SXin Li	   74| const/4 v10, #+2 (0x00000002 | 2.80260e-45)
223*f0dffb02SXin Li	   75| invoke-virtual {v9,v10}, Base.test(int):void
224*f0dffb02SXin Li	.line 43
225*f0dffb02SXin Li	   78| return-void
226*f0dffb02SXin Li}
227*f0dffb02SXin Li
228*f0dffb02SXin Limethod Hello.printStackTrace():void
229*f0dffb02SXin Li{
230*f0dffb02SXin Li	.src "hello.java"
231*f0dffb02SXin Li	.line 47
232*f0dffb02SXin Li	.prologue_end
233*f0dffb02SXin Li	.line 47
234*f0dffb02SXin Li	    0| new-instance v5, java.lang.Throwable
235*f0dffb02SXin Li	    2| move-object v11, v5
236*f0dffb02SXin Li	    3| move-object v5, v11
237*f0dffb02SXin Li	    4| move-object v6, v11
238*f0dffb02SXin Li	    5| invoke-direct {v6}, java.lang.Throwable.<init>():void
239*f0dffb02SXin Li	    8| invoke-virtual {v5}, java.lang.Throwable.getStackTrace():java.lang.StackTraceElement[]
240*f0dffb02SXin Li	   11| move-result-object v5
241*f0dffb02SXin Li	   12| move-object v0, v5
242*f0dffb02SXin Li	.line 48
243*f0dffb02SXin Li	.local v0, "callstack", java.lang.StackTraceElement[]
244*f0dffb02SXin Li	   13| move-object v5, v0
245*f0dffb02SXin Li	   14| move-object v1, v5
246*f0dffb02SXin Li	   15| move-object v5, v1
247*f0dffb02SXin Li	   16| array-length v5, v5
248*f0dffb02SXin Li	   17| move v2, v5
249*f0dffb02SXin Li	   18| const/4 v5, #+0 (0x00000000 | 0.00000)
250*f0dffb02SXin Li	   19| move v3, v5
251*f0dffb02SXin LiLabel_1:
252*f0dffb02SXin Li	   20| move v5, v3
253*f0dffb02SXin Li	   21| move v6, v2
254*f0dffb02SXin Li	   22| if-ge v5, v6, Label_2
255*f0dffb02SXin Li	   24| move-object v5, v1
256*f0dffb02SXin Li	   25| move v6, v3
257*f0dffb02SXin Li	   26| aget-object v5, v5, v6
258*f0dffb02SXin Li	   28| move-object v4, v5
259*f0dffb02SXin Li	.line 50
260*f0dffb02SXin Li	.local v4, "e", java.lang.StackTraceElement
261*f0dffb02SXin Li	   29| sget-object v5, java.lang.System.out
262*f0dffb02SXin Li	   31| const-string v6, "   %s\n"
263*f0dffb02SXin Li	   33| const/4 v7, #+1 (0x00000001 | 1.40130e-45)
264*f0dffb02SXin Li	   34| new-array v7, v7, java.lang.Object[]
265*f0dffb02SXin Li	   36| move-object v11, v7
266*f0dffb02SXin Li	   37| move-object v7, v11
267*f0dffb02SXin Li	   38| move-object v8, v11
268*f0dffb02SXin Li	   39| const/4 v9, #+0 (0x00000000 | 0.00000)
269*f0dffb02SXin Li	   40| move-object v10, v4
270*f0dffb02SXin Li	   41| invoke-virtual {v10}, java.lang.StackTraceElement.toString():java.lang.String
271*f0dffb02SXin Li	   44| move-result-object v10
272*f0dffb02SXin Li	   45| aput-object v10, v8, v9
273*f0dffb02SXin Li	   47| invoke-virtual {v5,v6,v7}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
274*f0dffb02SXin Li	   50| move-result-object v5
275*f0dffb02SXin Li	.line 48
276*f0dffb02SXin Li	   51| add-int/lit8 v3, v3, #+1 (0x00000001 | 1.40130e-45)
277*f0dffb02SXin Li	   53| goto/16 Label_1
278*f0dffb02SXin LiLabel_2:
279*f0dffb02SXin Li	.line 52
280*f0dffb02SXin Li	.end_local v4
281*f0dffb02SXin Li	   55| return-void
282*f0dffb02SXin Li}
283*f0dffb02SXin Li
284*f0dffb02SXin Limethod Hello.wrapTest(Base, int):void
285*f0dffb02SXin Li{
286*f0dffb02SXin Li	.params "?", "?"
287*f0dffb02SXin Li	.src "hello.java"
288*f0dffb02SXin Li	.line 56
289*f0dffb02SXin Li	    0| move-object/16 v14, v32
290*f0dffb02SXin Li	    3| move/16 v15, v33
291*f0dffb02SXin Li	    6| move-object/16 v13, v14
292*f0dffb02SXin Li	    9| move/16 v14, v15
293*f0dffb02SXin Li	   12| move-object/16 v12, v13
294*f0dffb02SXin Li	   15| move/16 v13, v14
295*f0dffb02SXin Li	.prologue_end
296*f0dffb02SXin Li	.line 56
297*f0dffb02SXin Li	   18| move-object v3, v12
298*f0dffb02SXin Li	.local v3, "_this", Base
299*f0dffb02SXin Li	   19| move v4, v13
300*f0dffb02SXin Li	.local v4, "n", int
301*f0dffb02SXin Li	   20| sget-object v5, java.lang.System.out
302*f0dffb02SXin Li	   22| const-string v6, ">>> %s.test(int n = %d)\n"
303*f0dffb02SXin Li	   24| const/4 v7, #+2 (0x00000002 | 2.80260e-45)
304*f0dffb02SXin Li	   25| new-array v7, v7, java.lang.Object[]
305*f0dffb02SXin Li	   27| move-object v11, v7
306*f0dffb02SXin Li	   28| move-object v7, v11
307*f0dffb02SXin Li	   29| move-object v8, v11
308*f0dffb02SXin Li	   30| const/4 v9, #+0 (0x00000000 | 0.00000)
309*f0dffb02SXin Li	   31| move-object v10, v3
310*f0dffb02SXin Li	   32| invoke-virtual {v10}, java.lang.Object.getClass():java.lang.Class
311*f0dffb02SXin Li	   35| move-result-object v10
312*f0dffb02SXin Li	   36| invoke-virtual {v10}, java.lang.Class.getName():java.lang.String
313*f0dffb02SXin Li	   39| move-result-object v10
314*f0dffb02SXin Li	   40| aput-object v10, v8, v9
315*f0dffb02SXin Li	   42| move-object v11, v7
316*f0dffb02SXin Li	   43| move-object v7, v11
317*f0dffb02SXin Li	   44| move-object v8, v11
318*f0dffb02SXin Li	   45| const/4 v9, #+1 (0x00000001 | 1.40130e-45)
319*f0dffb02SXin Li	   46| move v10, v4
320*f0dffb02SXin Li	   47| invoke-static {v10}, java.lang.Integer.valueOf(int):java.lang.Integer
321*f0dffb02SXin Li	   50| move-result-object v10
322*f0dffb02SXin Li	   51| aput-object v10, v8, v9
323*f0dffb02SXin Li	   53| invoke-virtual {v5,v6,v7}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
324*f0dffb02SXin Li	   56| move-result-object v5
325*f0dffb02SXin Li	.line 57
326*f0dffb02SXin Li	   57| move-object v5, v3
327*f0dffb02SXin Li	   58| move v6, v4
328*f0dffb02SXin Li	   59| invoke-virtual {v5,v6}, Base.test(int):void
329*f0dffb02SXin Li	.line 58
330*f0dffb02SXin Li	   62| return-void
331*f0dffb02SXin Li}
332