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