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