xref: /aosp_15_r20/tools/dexter/testdata/expected/entry_hooks.rewrite (revision f0dffb02cdb5c647d21204e89a92a1ffae2dad87)
1*f0dffb02SXin Li
2*f0dffb02SXin Limethod Base.<init>():void
3*f0dffb02SXin Li{
4*f0dffb02SXin Li	.src "entryHooks.java"
5*f0dffb02SXin Li	.line 27
6*f0dffb02SXin Li	.prologue_end
7*f0dffb02SXin Li	.line 27
8*f0dffb02SXin Li	    0| move-object v0, v2
9*f0dffb02SXin Li	.local v0, "this", Base
10*f0dffb02SXin Li	    1| move-object v1, v0
11*f0dffb02SXin Li	    2| invoke-direct {v1}, java.lang.Object.<init>():void
12*f0dffb02SXin Li	    5| return-void
13*f0dffb02SXin Li}
14*f0dffb02SXin Li
15*f0dffb02SXin Limethod Base.foo(int, java.lang.String):int
16*f0dffb02SXin Li{
17*f0dffb02SXin Li	.params "?", "?"
18*f0dffb02SXin Li	.src "entryHooks.java"
19*f0dffb02SXin Li	.line 31
20*f0dffb02SXin Li	.prologue_end
21*f0dffb02SXin Li	.line 31
22*f0dffb02SXin Li	    0| move-object v0, v10
23*f0dffb02SXin Li	.local v0, "this", Base
24*f0dffb02SXin Li	    1| move v1, v11
25*f0dffb02SXin Li	.local v1, "x", int
26*f0dffb02SXin Li	    2| move-object v2, v12
27*f0dffb02SXin Li	.local v2, "msg", java.lang.String
28*f0dffb02SXin Li	    3| sget-object v3, java.lang.System.out
29*f0dffb02SXin Li	    5| const-string v4, "Base.foo(%d, '%s')\n"
30*f0dffb02SXin Li	    7| const/4 v5, #+2 (0x00000002 | 2.80260e-45)
31*f0dffb02SXin Li	    8| new-array v5, v5, java.lang.Object[]
32*f0dffb02SXin Li	   10| move-object v9, v5
33*f0dffb02SXin Li	   11| move-object v5, v9
34*f0dffb02SXin Li	   12| move-object v6, v9
35*f0dffb02SXin Li	   13| const/4 v7, #+0 (0x00000000 | 0.00000)
36*f0dffb02SXin Li	   14| move v8, v1
37*f0dffb02SXin Li	   15| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer
38*f0dffb02SXin Li	   18| move-result-object v8
39*f0dffb02SXin Li	   19| aput-object v8, v6, v7
40*f0dffb02SXin Li	   21| move-object v9, v5
41*f0dffb02SXin Li	   22| move-object v5, v9
42*f0dffb02SXin Li	   23| move-object v6, v9
43*f0dffb02SXin Li	   24| const/4 v7, #+1 (0x00000001 | 1.40130e-45)
44*f0dffb02SXin Li	   25| move-object v8, v2
45*f0dffb02SXin Li	   26| aput-object v8, v6, v7
46*f0dffb02SXin Li	   28| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
47*f0dffb02SXin Li	   31| move-result-object v3
48*f0dffb02SXin Li	.line 32
49*f0dffb02SXin Li	   32| move v3, v1
50*f0dffb02SXin Li	   33| move v0, v3
51*f0dffb02SXin Li	.end_local v0
52*f0dffb02SXin Li	   34| return v0
53*f0dffb02SXin Li}
54*f0dffb02SXin Li
55*f0dffb02SXin Limethod Derived.<init>():void
56*f0dffb02SXin Li{
57*f0dffb02SXin Li	.src "entryHooks.java"
58*f0dffb02SXin Li	.line 36
59*f0dffb02SXin Li	.prologue_end
60*f0dffb02SXin Li	.line 36
61*f0dffb02SXin Li	    0| move-object v0, v2
62*f0dffb02SXin Li	.local v0, "this", Derived
63*f0dffb02SXin Li	    1| move-object v1, v0
64*f0dffb02SXin Li	    2| invoke-direct {v1}, Base.<init>():void
65*f0dffb02SXin Li	    5| return-void
66*f0dffb02SXin Li}
67*f0dffb02SXin Li
68*f0dffb02SXin Limethod Derived.foo(int, java.lang.String):int
69*f0dffb02SXin Li{
70*f0dffb02SXin Li	.params "?", "?"
71*f0dffb02SXin Li	.src "entryHooks.java"
72*f0dffb02SXin Li	.line 40
73*f0dffb02SXin Li	.prologue_end
74*f0dffb02SXin Li	.line 40
75*f0dffb02SXin Li	    0| move-object v0, v10
76*f0dffb02SXin Li	.local v0, "this", Derived
77*f0dffb02SXin Li	    1| move v1, v11
78*f0dffb02SXin Li	.local v1, "x", int
79*f0dffb02SXin Li	    2| move-object v2, v12
80*f0dffb02SXin Li	.local v2, "msg", java.lang.String
81*f0dffb02SXin Li	    3| sget-object v3, java.lang.System.out
82*f0dffb02SXin Li	    5| const-string v4, "Derived.foo(%d, '%s')\n"
83*f0dffb02SXin Li	    7| const/4 v5, #+2 (0x00000002 | 2.80260e-45)
84*f0dffb02SXin Li	    8| new-array v5, v5, java.lang.Object[]
85*f0dffb02SXin Li	   10| move-object v9, v5
86*f0dffb02SXin Li	   11| move-object v5, v9
87*f0dffb02SXin Li	   12| move-object v6, v9
88*f0dffb02SXin Li	   13| const/4 v7, #+0 (0x00000000 | 0.00000)
89*f0dffb02SXin Li	   14| move v8, v1
90*f0dffb02SXin Li	   15| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer
91*f0dffb02SXin Li	   18| move-result-object v8
92*f0dffb02SXin Li	   19| aput-object v8, v6, v7
93*f0dffb02SXin Li	   21| move-object v9, v5
94*f0dffb02SXin Li	   22| move-object v5, v9
95*f0dffb02SXin Li	   23| move-object v6, v9
96*f0dffb02SXin Li	   24| const/4 v7, #+1 (0x00000001 | 1.40130e-45)
97*f0dffb02SXin Li	   25| move-object v8, v2
98*f0dffb02SXin Li	   26| aput-object v8, v6, v7
99*f0dffb02SXin Li	   28| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
100*f0dffb02SXin Li	   31| move-result-object v3
101*f0dffb02SXin Li	.line 41
102*f0dffb02SXin Li	   32| move v3, v1
103*f0dffb02SXin Li	   33| const/4 v4, #+2 (0x00000002 | 2.80260e-45)
104*f0dffb02SXin Li	   34| mul-int/lit8 v3, v3, #+2 (0x00000002 | 2.80260e-45)
105*f0dffb02SXin Li	   36| move v0, v3
106*f0dffb02SXin Li	.end_local v0
107*f0dffb02SXin Li	   37| return v0
108*f0dffb02SXin Li}
109*f0dffb02SXin Li
110*f0dffb02SXin Limethod Target.<init>():void
111*f0dffb02SXin Li{
112*f0dffb02SXin Li	.src "entryHooks.java"
113*f0dffb02SXin Li	.line 45
114*f0dffb02SXin Li	.prologue_end
115*f0dffb02SXin Li	.line 45
116*f0dffb02SXin Li	    0| move-object v0, v2
117*f0dffb02SXin Li	.local v0, "this", Target
118*f0dffb02SXin Li	    1| move-object v1, v0
119*f0dffb02SXin Li	    2| invoke-direct {v1}, java.lang.Object.<init>():void
120*f0dffb02SXin Li	    5| return-void
121*f0dffb02SXin Li}
122*f0dffb02SXin Li
123*f0dffb02SXin Limethod Target.main(java.lang.String[]):void
124*f0dffb02SXin Li{
125*f0dffb02SXin Li	.params "?"
126*f0dffb02SXin Li	.src "entryHooks.java"
127*f0dffb02SXin Li	.line 51
128*f0dffb02SXin Li	.prologue_end
129*f0dffb02SXin Li	.line 51
130*f0dffb02SXin Li	    0| move-object v0, v8
131*f0dffb02SXin Li	.local v0, "args", java.lang.String[]
132*f0dffb02SXin Li	    1| sget-object v1, java.lang.System.out
133*f0dffb02SXin Li	    3| const-string v2, "Hello, world!"
134*f0dffb02SXin Li	    5| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void
135*f0dffb02SXin Li	.line 52
136*f0dffb02SXin Li	    8| sget-object v1, java.lang.System.out
137*f0dffb02SXin Li	   10| const-string v2, "final = %d\n"
138*f0dffb02SXin Li	   12| const/4 v3, #+1 (0x00000001 | 1.40130e-45)
139*f0dffb02SXin Li	   13| new-array v3, v3, java.lang.Object[]
140*f0dffb02SXin Li	   15| move-object v7, v3
141*f0dffb02SXin Li	   16| move-object v3, v7
142*f0dffb02SXin Li	   17| move-object v4, v7
143*f0dffb02SXin Li	   18| const/4 v5, #+0 (0x00000000 | 0.00000)
144*f0dffb02SXin Li	   19| invoke-static {}, Target.test():int
145*f0dffb02SXin Li	   22| move-result v6
146*f0dffb02SXin Li	   23| invoke-static {v6}, java.lang.Integer.valueOf(int):java.lang.Integer
147*f0dffb02SXin Li	   26| move-result-object v6
148*f0dffb02SXin Li	   27| aput-object v6, v4, v5
149*f0dffb02SXin Li	   29| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
150*f0dffb02SXin Li	   32| move-result-object v1
151*f0dffb02SXin Li	.line 53
152*f0dffb02SXin Li	   33| sget-object v1, java.lang.System.out
153*f0dffb02SXin Li	   35| const-string v2, "Good bye!"
154*f0dffb02SXin Li	   37| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void
155*f0dffb02SXin Li	.line 54
156*f0dffb02SXin Li	   40| return-void
157*f0dffb02SXin Li}
158*f0dffb02SXin Li
159*f0dffb02SXin Limethod Target.test():int
160*f0dffb02SXin Li{
161*f0dffb02SXin Li	.src "entryHooks.java"
162*f0dffb02SXin Li	.line 58
163*f0dffb02SXin Li	.prologue_end
164*f0dffb02SXin Li	.line 58
165*f0dffb02SXin Li	    0| new-instance v1, Target
166*f0dffb02SXin Li	    2| move-object v4, v1
167*f0dffb02SXin Li	    3| move-object v1, v4
168*f0dffb02SXin Li	    4| move-object v2, v4
169*f0dffb02SXin Li	    5| invoke-direct {v2}, Target.<init>():void
170*f0dffb02SXin Li	    8| move-object v0, v1
171*f0dffb02SXin Li	.line 59
172*f0dffb02SXin Li	.local v0, "obj", Target
173*f0dffb02SXin Li	    9| move-object v1, v0
174*f0dffb02SXin Li	   10| new-instance v2, Derived
175*f0dffb02SXin Li	   12| move-object v4, v2
176*f0dffb02SXin Li	   13| move-object v2, v4
177*f0dffb02SXin Li	   14| move-object v3, v4
178*f0dffb02SXin Li	   15| invoke-direct {v3}, Derived.<init>():void
179*f0dffb02SXin Li	   18| iput-object v2, v1, Target.test
180*f0dffb02SXin Li	.line 60
181*f0dffb02SXin Li	   20| move-object v1, v0
182*f0dffb02SXin Li	   21| const/4 v2, #+3 (0x00000003 | 4.20390e-45)
183*f0dffb02SXin Li	   22| const-string v3, "Testing..."
184*f0dffb02SXin Li	   24| invoke-virtual {v1,v2,v3}, Target.foo(int, java.lang.String):int
185*f0dffb02SXin Li	   27| move-result v1
186*f0dffb02SXin Li	   28| move v0, v1
187*f0dffb02SXin Li	.end_local v0
188*f0dffb02SXin Li	   29| return v0
189*f0dffb02SXin Li}
190*f0dffb02SXin Li
191*f0dffb02SXin Limethod Target.foo(int):int
192*f0dffb02SXin Li{
193*f0dffb02SXin Li	.params "?"
194*f0dffb02SXin Li	.src "entryHooks.java"
195*f0dffb02SXin Li	.line 74
196*f0dffb02SXin Li	.prologue_end
197*f0dffb02SXin Li	.line 74
198*f0dffb02SXin Li	    0| move-object v0, v3
199*f0dffb02SXin Li	.local v0, "this", Target
200*f0dffb02SXin Li	    1| move v1, v4
201*f0dffb02SXin Li	.local v1, "x", int
202*f0dffb02SXin Li	    2| const/4 v2, #+1 (0x00000001 | 1.40130e-45)
203*f0dffb02SXin Li	    3| move v0, v2
204*f0dffb02SXin Li	.end_local v0
205*f0dffb02SXin Li	    4| return v0
206*f0dffb02SXin Li}
207*f0dffb02SXin Li
208*f0dffb02SXin Limethod Target.foo(int, int):int
209*f0dffb02SXin Li{
210*f0dffb02SXin Li	.params "?", "?"
211*f0dffb02SXin Li	.src "entryHooks.java"
212*f0dffb02SXin Li	.line 75
213*f0dffb02SXin Li	.prologue_end
214*f0dffb02SXin Li	.line 75
215*f0dffb02SXin Li	    0| move-object v0, v4
216*f0dffb02SXin Li	.local v0, "this", Target
217*f0dffb02SXin Li	    1| move v1, v5
218*f0dffb02SXin Li	.local v1, "x", int
219*f0dffb02SXin Li	    2| move v2, v6
220*f0dffb02SXin Li	.local v2, "y", int
221*f0dffb02SXin Li	    3| const/4 v3, #+2 (0x00000002 | 2.80260e-45)
222*f0dffb02SXin Li	    4| move v0, v3
223*f0dffb02SXin Li	.end_local v0
224*f0dffb02SXin Li	    5| return v0
225*f0dffb02SXin Li}
226*f0dffb02SXin Li
227*f0dffb02SXin Limethod Target.foo(int, java.lang.String):int
228*f0dffb02SXin Li{
229*f0dffb02SXin Li	.params "?", "?"
230*f0dffb02SXin Li	.src "entryHooks.java"
231*f0dffb02SXin Li	.line 65
232*f0dffb02SXin Li	.prologue_end
233*f0dffb02SXin Li	.line 65
234*f0dffb02SXin Li	    0| move-object v0, v9
235*f0dffb02SXin Li	.local v0, "this", Target
236*f0dffb02SXin Li	    1| move v1, v10
237*f0dffb02SXin Li	.local v1, "x", int
238*f0dffb02SXin Li	    2| move-object v2, v11
239*f0dffb02SXin Li	.local v2, "msg", java.lang.String
240*f0dffb02SXin Li	    3| const/4 v5, #+0 (0x00000000 | 0.00000)
241*f0dffb02SXin Li	    4| move v3, v5
242*f0dffb02SXin Li	.line 66
243*f0dffb02SXin Li	.local v3, "sum", int
244*f0dffb02SXin Li	    5| const/4 v5, #+0 (0x00000000 | 0.00000)
245*f0dffb02SXin Li	    6| move v4, v5
246*f0dffb02SXin LiLabel_1:
247*f0dffb02SXin Li	.local v4, "i", int
248*f0dffb02SXin Li	    7| move v5, v4
249*f0dffb02SXin Li	    8| move v6, v1
250*f0dffb02SXin Li	    9| if-ge v5, v6, Label_2
251*f0dffb02SXin Li	.line 68
252*f0dffb02SXin Li	   11| move v5, v3
253*f0dffb02SXin Li	   12| move-object v6, v0
254*f0dffb02SXin Li	   13| iget-object v6, v6, Target.test
255*f0dffb02SXin Li	   15| move v7, v4
256*f0dffb02SXin Li	   16| move-object v8, v2
257*f0dffb02SXin Li	   17| invoke-virtual {v6,v7,v8}, Base.foo(int, java.lang.String):int
258*f0dffb02SXin Li	   20| move-result v6
259*f0dffb02SXin Li	   21| add-int/2addr v5, v6
260*f0dffb02SXin Li	   22| move v3, v5
261*f0dffb02SXin Li	.line 66
262*f0dffb02SXin Li	   23| add-int/lit8 v4, v4, #+1 (0x00000001 | 1.40130e-45)
263*f0dffb02SXin Li	   25| goto/16 Label_1
264*f0dffb02SXin LiLabel_2:
265*f0dffb02SXin Li	.line 70
266*f0dffb02SXin Li	   27| move v5, v3
267*f0dffb02SXin Li	   28| move v0, v5
268*f0dffb02SXin Li	.end_local v0
269*f0dffb02SXin Li	   29| return v0
270*f0dffb02SXin Li}
271*f0dffb02SXin Li
272*f0dffb02SXin Limethod Target.foo(int, java.lang.String, java.lang.String):int
273*f0dffb02SXin Li{
274*f0dffb02SXin Li	.params "?", "?", "?"
275*f0dffb02SXin Li	.src "entryHooks.java"
276*f0dffb02SXin Li	.line 76
277*f0dffb02SXin Li	.prologue_end
278*f0dffb02SXin Li	.line 76
279*f0dffb02SXin Li	    0| move-object v0, v5
280*f0dffb02SXin Li	.local v0, "this", Target
281*f0dffb02SXin Li	    1| move v1, v6
282*f0dffb02SXin Li	.local v1, "x", int
283*f0dffb02SXin Li	    2| move-object v2, v7
284*f0dffb02SXin Li	.local v2, "msg", java.lang.String
285*f0dffb02SXin Li	    3| move-object v3, v8
286*f0dffb02SXin Li	.local v3, "msg2", java.lang.String
287*f0dffb02SXin Li	    4| const/4 v4, #+3 (0x00000003 | 4.20390e-45)
288*f0dffb02SXin Li	    5| move v0, v4
289*f0dffb02SXin Li	.end_local v0
290*f0dffb02SXin Li	    6| return v0
291*f0dffb02SXin Li}
292*f0dffb02SXin Li
293*f0dffb02SXin Limethod Target.foo(int, java.lang.String[]):int
294*f0dffb02SXin Li{
295*f0dffb02SXin Li	.params "?", "?"
296*f0dffb02SXin Li	.src "entryHooks.java"
297*f0dffb02SXin Li	.line 77
298*f0dffb02SXin Li	.prologue_end
299*f0dffb02SXin Li	.line 77
300*f0dffb02SXin Li	    0| move-object v0, v4
301*f0dffb02SXin Li	.local v0, "this", Target
302*f0dffb02SXin Li	    1| move v1, v5
303*f0dffb02SXin Li	.local v1, "x", int
304*f0dffb02SXin Li	    2| move-object v2, v6
305*f0dffb02SXin Li	.local v2, "msgs", java.lang.String[]
306*f0dffb02SXin Li	    3| const/4 v3, #+4 (0x00000004 | 5.60519e-45)
307*f0dffb02SXin Li	    4| move v0, v3
308*f0dffb02SXin Li	.end_local v0
309*f0dffb02SXin Li	    5| return v0
310*f0dffb02SXin Li}
311*f0dffb02SXin Li
312*f0dffb02SXin Limethod Target.foo(int, java.lang.String[][]):java.lang.Integer
313*f0dffb02SXin Li{
314*f0dffb02SXin Li	.params "?", "?"
315*f0dffb02SXin Li	.src "entryHooks.java"
316*f0dffb02SXin Li	.line 78
317*f0dffb02SXin Li	.prologue_end
318*f0dffb02SXin Li	.line 78
319*f0dffb02SXin Li	    0| move-object v0, v4
320*f0dffb02SXin Li	.local v0, "this", Target
321*f0dffb02SXin Li	    1| move v1, v5
322*f0dffb02SXin Li	.local v1, "x", int
323*f0dffb02SXin Li	    2| move-object v2, v6
324*f0dffb02SXin Li	.local v2, "msgs", java.lang.String[][]
325*f0dffb02SXin Li	    3| const/4 v3, #+5 (0x00000005 | 7.00649e-45)
326*f0dffb02SXin Li	    4| invoke-static {v3}, java.lang.Integer.valueOf(int):java.lang.Integer
327*f0dffb02SXin Li	    7| move-result-object v3
328*f0dffb02SXin Li	    8| move-object v0, v3
329*f0dffb02SXin Li	.end_local v0
330*f0dffb02SXin Li	    9| return-object v0
331*f0dffb02SXin Li}
332*f0dffb02SXin Li
333*f0dffb02SXin Limethod Target.foo():void
334*f0dffb02SXin Li{
335*f0dffb02SXin Li	.src "entryHooks.java"
336*f0dffb02SXin Li	.line 73
337*f0dffb02SXin Li	.prologue_end
338*f0dffb02SXin Li	.line 73
339*f0dffb02SXin Li	    0| return-void
340*f0dffb02SXin Li}
341*f0dffb02SXin Li
342*f0dffb02SXin Limethod Tracer.<init>():void
343*f0dffb02SXin Li{
344*f0dffb02SXin Li	.src "entryHooks.java"
345*f0dffb02SXin Li	.line 2
346*f0dffb02SXin Li	.prologue_end
347*f0dffb02SXin Li	.line 2
348*f0dffb02SXin Li	    0| move-object v0, v2
349*f0dffb02SXin Li	.local v0, "this", Tracer
350*f0dffb02SXin Li	    1| move-object v1, v0
351*f0dffb02SXin Li	    2| invoke-direct {v1}, java.lang.Object.<init>():void
352*f0dffb02SXin Li	    5| return-void
353*f0dffb02SXin Li}
354*f0dffb02SXin Li
355*f0dffb02SXin Limethod Tracer.onEntry(java.lang.String):void
356*f0dffb02SXin Li{
357*f0dffb02SXin Li	.params "?"
358*f0dffb02SXin Li	.src "entryHooks.java"
359*f0dffb02SXin Li	.line 6
360*f0dffb02SXin Li	.prologue_end
361*f0dffb02SXin Li	.line 6
362*f0dffb02SXin Li	    0| move-object v0, v5
363*f0dffb02SXin Li	.local v0, "methodName", java.lang.String
364*f0dffb02SXin Li	    1| sget-object v1, java.lang.System.out
365*f0dffb02SXin Li	    3| new-instance v2, java.lang.StringBuilder
366*f0dffb02SXin Li	    5| move-object v4, v2
367*f0dffb02SXin Li	    6| move-object v2, v4
368*f0dffb02SXin Li	    7| move-object v3, v4
369*f0dffb02SXin Li	    8| invoke-direct {v3}, java.lang.StringBuilder.<init>():void
370*f0dffb02SXin Li	   11| const-string v3, "OnEntry("
371*f0dffb02SXin Li	   13| invoke-virtual {v2,v3}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
372*f0dffb02SXin Li	   16| move-result-object v2
373*f0dffb02SXin Li	   17| move-object v3, v0
374*f0dffb02SXin Li	   18| invoke-virtual {v2,v3}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
375*f0dffb02SXin Li	   21| move-result-object v2
376*f0dffb02SXin Li	   22| const-string v3, ")"
377*f0dffb02SXin Li	   24| invoke-virtual {v2,v3}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
378*f0dffb02SXin Li	   27| move-result-object v2
379*f0dffb02SXin Li	   28| invoke-virtual {v2}, java.lang.StringBuilder.toString():java.lang.String
380*f0dffb02SXin Li	   31| move-result-object v2
381*f0dffb02SXin Li	   32| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void
382*f0dffb02SXin Li	.line 7
383*f0dffb02SXin Li	   35| return-void
384*f0dffb02SXin Li}
385*f0dffb02SXin Li
386*f0dffb02SXin Limethod Tracer.onFooEntry(Target, int, java.lang.String):void
387*f0dffb02SXin Li{
388*f0dffb02SXin Li	.params "?", "?", "?"
389*f0dffb02SXin Li	.src "entryHooks.java"
390*f0dffb02SXin Li	.line 11
391*f0dffb02SXin Li	.prologue_end
392*f0dffb02SXin Li	.line 11
393*f0dffb02SXin Li	    0| move-object v0, v10
394*f0dffb02SXin Li	.local v0, "__this", Target
395*f0dffb02SXin Li	    1| move v1, v11
396*f0dffb02SXin Li	.local v1, "x", int
397*f0dffb02SXin Li	    2| move-object v2, v12
398*f0dffb02SXin Li	.local v2, "msg", java.lang.String
399*f0dffb02SXin Li	    3| sget-object v3, java.lang.System.out
400*f0dffb02SXin Li	    5| const-string v4, ">>> onFooEntry(%s, %d, %s)\n"
401*f0dffb02SXin Li	    7| const/4 v5, #+3 (0x00000003 | 4.20390e-45)
402*f0dffb02SXin Li	    8| new-array v5, v5, java.lang.Object[]
403*f0dffb02SXin Li	   10| move-object v9, v5
404*f0dffb02SXin Li	   11| move-object v5, v9
405*f0dffb02SXin Li	   12| move-object v6, v9
406*f0dffb02SXin Li	   13| const/4 v7, #+0 (0x00000000 | 0.00000)
407*f0dffb02SXin Li	   14| move-object v8, v0
408*f0dffb02SXin Li	   15| aput-object v8, v6, v7
409*f0dffb02SXin Li	   17| move-object v9, v5
410*f0dffb02SXin Li	   18| move-object v5, v9
411*f0dffb02SXin Li	   19| move-object v6, v9
412*f0dffb02SXin Li	   20| const/4 v7, #+1 (0x00000001 | 1.40130e-45)
413*f0dffb02SXin Li	   21| move v8, v1
414*f0dffb02SXin Li	   22| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer
415*f0dffb02SXin Li	   25| move-result-object v8
416*f0dffb02SXin Li	   26| aput-object v8, v6, v7
417*f0dffb02SXin Li	   28| move-object v9, v5
418*f0dffb02SXin Li	   29| move-object v5, v9
419*f0dffb02SXin Li	   30| move-object v6, v9
420*f0dffb02SXin Li	   31| const/4 v7, #+2 (0x00000002 | 2.80260e-45)
421*f0dffb02SXin Li	   32| move-object v8, v2
422*f0dffb02SXin Li	   33| aput-object v8, v6, v7
423*f0dffb02SXin Li	   35| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
424*f0dffb02SXin Li	   38| move-result-object v3
425*f0dffb02SXin Li	.line 12
426*f0dffb02SXin Li	   39| return-void
427*f0dffb02SXin Li}
428*f0dffb02SXin Li
429*f0dffb02SXin Limethod Tracer.onFooExit(int):int
430*f0dffb02SXin Li{
431*f0dffb02SXin Li	.params "?"
432*f0dffb02SXin Li	.src "entryHooks.java"
433*f0dffb02SXin Li	.line 16
434*f0dffb02SXin Li	.prologue_end
435*f0dffb02SXin Li	.line 16
436*f0dffb02SXin Li	    0| move v0, v8
437*f0dffb02SXin Li	.local v0, "retValue", int
438*f0dffb02SXin Li	    1| sget-object v1, java.lang.System.out
439*f0dffb02SXin Li	    3| const-string v2, ">>> onFooExit(%d)\n"
440*f0dffb02SXin Li	    5| const/4 v3, #+1 (0x00000001 | 1.40130e-45)
441*f0dffb02SXin Li	    6| new-array v3, v3, java.lang.Object[]
442*f0dffb02SXin Li	    8| move-object v7, v3
443*f0dffb02SXin Li	    9| move-object v3, v7
444*f0dffb02SXin Li	   10| move-object v4, v7
445*f0dffb02SXin Li	   11| const/4 v5, #+0 (0x00000000 | 0.00000)
446*f0dffb02SXin Li	   12| move v6, v0
447*f0dffb02SXin Li	   13| invoke-static {v6}, java.lang.Integer.valueOf(int):java.lang.Integer
448*f0dffb02SXin Li	   16| move-result-object v6
449*f0dffb02SXin Li	   17| aput-object v6, v4, v5
450*f0dffb02SXin Li	   19| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
451*f0dffb02SXin Li	   22| move-result-object v1
452*f0dffb02SXin Li	.line 17
453*f0dffb02SXin Li	   23| move v1, v0
454*f0dffb02SXin Li	   24| const/16 v2, #+100 (0x00000064 | 1.40130e-43)
455*f0dffb02SXin Li	   26| add-int/lit8 v1, v1, #+100 (0x00000064 | 1.40130e-43)
456*f0dffb02SXin Li	   28| move v0, v1
457*f0dffb02SXin Li	.end_local v0
458*f0dffb02SXin Li	   29| return v0
459*f0dffb02SXin Li}
460*f0dffb02SXin Li
461*f0dffb02SXin Limethod Tracer.wrapFoo(Base, int, java.lang.String):int
462*f0dffb02SXin Li{
463*f0dffb02SXin Li	.params "?", "?", "?"
464*f0dffb02SXin Li	.src "entryHooks.java"
465*f0dffb02SXin Li	.line 22
466*f0dffb02SXin Li	.prologue_end
467*f0dffb02SXin Li	.line 22
468*f0dffb02SXin Li	    0| move-object v0, v10
469*f0dffb02SXin Li	.local v0, "_this", Base
470*f0dffb02SXin Li	    1| move v1, v11
471*f0dffb02SXin Li	.local v1, "x", int
472*f0dffb02SXin Li	    2| move-object v2, v12
473*f0dffb02SXin Li	.local v2, "msg", java.lang.String
474*f0dffb02SXin Li	    3| sget-object v3, java.lang.System.out
475*f0dffb02SXin Li	    5| const-string v4, ">>> %s.test(%d, %s)\n"
476*f0dffb02SXin Li	    7| const/4 v5, #+3 (0x00000003 | 4.20390e-45)
477*f0dffb02SXin Li	    8| new-array v5, v5, java.lang.Object[]
478*f0dffb02SXin Li	   10| move-object v9, v5
479*f0dffb02SXin Li	   11| move-object v5, v9
480*f0dffb02SXin Li	   12| move-object v6, v9
481*f0dffb02SXin Li	   13| const/4 v7, #+0 (0x00000000 | 0.00000)
482*f0dffb02SXin Li	   14| move-object v8, v0
483*f0dffb02SXin Li	   15| invoke-virtual {v8}, java.lang.Object.getClass():java.lang.Class
484*f0dffb02SXin Li	   18| move-result-object v8
485*f0dffb02SXin Li	   19| invoke-virtual {v8}, java.lang.Class.getName():java.lang.String
486*f0dffb02SXin Li	   22| move-result-object v8
487*f0dffb02SXin Li	   23| aput-object v8, v6, v7
488*f0dffb02SXin Li	   25| move-object v9, v5
489*f0dffb02SXin Li	   26| move-object v5, v9
490*f0dffb02SXin Li	   27| move-object v6, v9
491*f0dffb02SXin Li	   28| const/4 v7, #+1 (0x00000001 | 1.40130e-45)
492*f0dffb02SXin Li	   29| move v8, v1
493*f0dffb02SXin Li	   30| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer
494*f0dffb02SXin Li	   33| move-result-object v8
495*f0dffb02SXin Li	   34| aput-object v8, v6, v7
496*f0dffb02SXin Li	   36| move-object v9, v5
497*f0dffb02SXin Li	   37| move-object v5, v9
498*f0dffb02SXin Li	   38| move-object v6, v9
499*f0dffb02SXin Li	   39| const/4 v7, #+2 (0x00000002 | 2.80260e-45)
500*f0dffb02SXin Li	   40| move-object v8, v2
501*f0dffb02SXin Li	   41| aput-object v8, v6, v7
502*f0dffb02SXin Li	   43| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
503*f0dffb02SXin Li	   46| move-result-object v3
504*f0dffb02SXin Li	.line 23
505*f0dffb02SXin Li	   47| move-object v3, v0
506*f0dffb02SXin Li	   48| move v4, v1
507*f0dffb02SXin Li	   49| move-object v5, v2
508*f0dffb02SXin Li	   50| invoke-virtual {v3,v4,v5}, Base.foo(int, java.lang.String):int
509*f0dffb02SXin Li	   53| move-result v3
510*f0dffb02SXin Li	   54| const/16 v4, #+10 (0x0000000a | 1.40130e-44)
511*f0dffb02SXin Li	   56| add-int/lit8 v3, v3, #+10 (0x0000000a | 1.40130e-44)
512*f0dffb02SXin Li	   58| move v0, v3
513*f0dffb02SXin Li	.end_local v0
514*f0dffb02SXin Li	   59| return v0
515*f0dffb02SXin Li}
516