1       1: mi=0 s=0 e=2
2       2: mi=0 s=5 e=5
3       3: mi=1 s=0 e=3
4       4: mi=1 s=5 e=5
5       5: mi=1 s=7 e=8
6       6: mi=1 s=10 e=15
7       7: mi=1 s=18 e=19
8       8: mi=1 s=21 e=26
9       9: mi=1 s=28 e=28
10      10: mi=1 s=31 e=34
11      11: mi=2 s=0 e=2
12      12: mi=2 s=5 e=5
13      13: mi=3 s=0 e=3
14      14: mi=3 s=5 e=5
15      15: mi=3 s=7 e=8
16      16: mi=3 s=10 e=15
17      17: mi=3 s=18 e=19
18      18: mi=3 s=21 e=26
19      19: mi=3 s=28 e=28
20      20: mi=3 s=31 e=37
21      21: mi=4 s=0 e=2
22      22: mi=4 s=5 e=5
23      23: mi=12 s=0 e=1
24      24: mi=12 s=3 e=3
25      25: mi=12 s=5 e=5
26      26: mi=12 s=8 e=8
27      27: mi=12 s=10 e=10
28      28: mi=12 s=12 e=13
29      29: mi=12 s=15 e=19
30      30: mi=12 s=22 e=23
31      31: mi=12 s=26 e=27
32      32: mi=12 s=29 e=29
33      33: mi=12 s=32 e=33
34      34: mi=12 s=35 e=35
35      35: mi=12 s=37 e=37
36      36: mi=12 s=40 e=40
37      37: mi=13 s=0 e=0
38      38: mi=13 s=2 e=5
39      39: mi=13 s=8 e=10
40      40: mi=13 s=12 e=15
41      41: mi=13 s=18 e=18
42      42: mi=13 s=20 e=22
43      43: mi=13 s=24 e=24
44      44: mi=13 s=27 e=29
45      45: mi=5 s=0 e=4
46      46: mi=6 s=0 e=5
47      47: mi=7 s=0 e=6
48      48: mi=7 s=7 e=9
49      49: mi=7 s=11 e=13
50      50: mi=7 s=15 e=17
51      51: mi=7 s=20 e=25
52      52: mi=7 s=26 e=28
53      53: mi=8 s=0 e=6
54      54: mi=9 s=0 e=5
55      55: mi=10 s=0 e=4
56      56: mi=10 s=7 e=9
57      57: mi=11 s=0 e=0
58      58: mi=14 s=0 e=2
59      59: mi=14 s=5 e=5
60      60: mi=15 s=0 e=1
61      61: mi=15 s=3 e=3
62      62: mi=15 s=5 e=8
63      63: mi=15 s=11 e=11
64      64: mi=15 s=13 e=13
65      65: mi=15 s=16 e=18
66      66: mi=15 s=21 e=22
67      67: mi=15 s=24 e=24
68      68: mi=15 s=27 e=28
69      69: mi=15 s=31 e=32
70      70: mi=15 s=35 e=35
71      71: mi=16 s=0 e=3
72      72: mi=16 s=5 e=5
73      73: mi=16 s=7 e=8
74      74: mi=16 s=10 e=15
75      75: mi=16 s=17 e=22
76      76: mi=16 s=25 e=26
77      77: mi=16 s=28 e=33
78      78: mi=16 s=35 e=35
79      79: mi=16 s=38 e=39
80      80: mi=17 s=0 e=1
81      81: mi=17 s=3 e=3
82      82: mi=17 s=5 e=6
83      83: mi=17 s=8 e=13
84      84: mi=17 s=16 e=17
85      85: mi=17 s=19 e=19
86      86: mi=17 s=22 e=29
87      87: mi=18 s=0 e=3
88      88: mi=18 s=5 e=5
89      89: mi=18 s=7 e=8
90      90: mi=18 s=10 e=15
91      91: mi=18 s=18 e=19
92      92: mi=18 s=22 e=23
93      93: mi=18 s=25 e=30
94      94: mi=18 s=33 e=34
95      95: mi=18 s=36 e=41
96      96: mi=18 s=43 e=43
97      97: mi=18 s=46 e=50
98      98: mi=18 s=53 e=59
99
100method Base.<init>():void
101{
102	.src "entryHooks.java"
103	.line 27
104	.prologue_end
105	.line 27
106	    0| const v0, #+1 (0x00000001 | 1.40130e-45)
107	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
108	    6| move-object v1, v3
109	.local v1, "this", Base
110	    7| move-object v2, v1
111	    8| invoke-direct {v2}, java.lang.Object.<init>():void
112	   11| const v0, #+2 (0x00000002 | 2.80260e-45)
113	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
114	   17| return-void
115}
116
117method Base.foo(int, java.lang.String):int
118{
119	.params "?", "?"
120	.src "entryHooks.java"
121	.line 31
122	.prologue_end
123	.line 31
124	    0| const v0, #+3 (0x00000003 | 4.20390e-45)
125	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
126	    6| move-object v1, v11
127	.local v1, "this", Base
128	    7| move v2, v12
129	.local v2, "x", int
130	    8| move-object v3, v13
131	.local v3, "msg", java.lang.String
132	    9| sget-object v4, java.lang.System.out
133	   11| const v0, #+4 (0x00000004 | 5.60519e-45)
134	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
135	   17| const-string v5, "Base.foo(%d, '%s')\n"
136	   19| const v0, #+5 (0x00000005 | 7.00649e-45)
137	   22| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
138	   25| const/4 v6, #+2 (0x00000002 | 2.80260e-45)
139	   26| new-array v6, v6, java.lang.Object[]
140	   28| const v0, #+6 (0x00000006 | 8.40779e-45)
141	   31| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
142	   34| move-object v10, v6
143	   35| move-object v6, v10
144	   36| move-object v7, v10
145	   37| const/4 v8, #+0 (0x00000000 | 0.00000)
146	   38| move v9, v2
147	   39| invoke-static {v9}, java.lang.Integer.valueOf(int):java.lang.Integer
148	   42| move-result-object v9
149	   43| const v0, #+7 (0x00000007 | 9.80909e-45)
150	   46| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
151	   49| aput-object v9, v7, v8
152	   51| const v0, #+8 (0x00000008 | 1.12104e-44)
153	   54| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
154	   57| move-object v10, v6
155	   58| move-object v6, v10
156	   59| move-object v7, v10
157	   60| const/4 v8, #+1 (0x00000001 | 1.40130e-45)
158	   61| move-object v9, v3
159	   62| aput-object v9, v7, v8
160	   64| const v0, #+9 (0x00000009 | 1.26117e-44)
161	   67| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
162	   70| invoke-virtual {v4,v5,v6}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
163	   73| move-result-object v4
164	   74| const v0, #+10 (0x0000000a | 1.40130e-44)
165	   77| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
166	.line 32
167	   80| move v4, v2
168	   81| move v1, v4
169	.end_local v1
170	   82| return v1
171}
172
173method Derived.<init>():void
174{
175	.src "entryHooks.java"
176	.line 36
177	.prologue_end
178	.line 36
179	    0| const v0, #+11 (0x0000000b | 1.54143e-44)
180	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
181	    6| move-object v1, v3
182	.local v1, "this", Derived
183	    7| move-object v2, v1
184	    8| invoke-direct {v2}, Base.<init>():void
185	   11| const v0, #+12 (0x0000000c | 1.68156e-44)
186	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
187	   17| return-void
188}
189
190method Derived.foo(int, java.lang.String):int
191{
192	.params "?", "?"
193	.src "entryHooks.java"
194	.line 40
195	.prologue_end
196	.line 40
197	    0| const v0, #+13 (0x0000000d | 1.82169e-44)
198	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
199	    6| move-object v1, v11
200	.local v1, "this", Derived
201	    7| move v2, v12
202	.local v2, "x", int
203	    8| move-object v3, v13
204	.local v3, "msg", java.lang.String
205	    9| sget-object v4, java.lang.System.out
206	   11| const v0, #+14 (0x0000000e | 1.96182e-44)
207	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
208	   17| const-string v5, "Derived.foo(%d, '%s')\n"
209	   19| const v0, #+15 (0x0000000f | 2.10195e-44)
210	   22| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
211	   25| const/4 v6, #+2 (0x00000002 | 2.80260e-45)
212	   26| new-array v6, v6, java.lang.Object[]
213	   28| const v0, #+16 (0x00000010 | 2.24208e-44)
214	   31| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
215	   34| move-object v10, v6
216	   35| move-object v6, v10
217	   36| move-object v7, v10
218	   37| const/4 v8, #+0 (0x00000000 | 0.00000)
219	   38| move v9, v2
220	   39| invoke-static {v9}, java.lang.Integer.valueOf(int):java.lang.Integer
221	   42| move-result-object v9
222	   43| const v0, #+17 (0x00000011 | 2.38221e-44)
223	   46| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
224	   49| aput-object v9, v7, v8
225	   51| const v0, #+18 (0x00000012 | 2.52234e-44)
226	   54| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
227	   57| move-object v10, v6
228	   58| move-object v6, v10
229	   59| move-object v7, v10
230	   60| const/4 v8, #+1 (0x00000001 | 1.40130e-45)
231	   61| move-object v9, v3
232	   62| aput-object v9, v7, v8
233	   64| const v0, #+19 (0x00000013 | 2.66247e-44)
234	   67| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
235	   70| invoke-virtual {v4,v5,v6}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
236	   73| move-result-object v4
237	   74| const v0, #+20 (0x00000014 | 2.80260e-44)
238	   77| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
239	.line 41
240	   80| move v4, v2
241	   81| const/4 v5, #+2 (0x00000002 | 2.80260e-45)
242	   82| mul-int/lit8 v4, v4, #+2 (0x00000002 | 2.80260e-45)
243	   84| move v1, v4
244	.end_local v1
245	   85| return v1
246}
247
248method Target.<init>():void
249{
250	.src "entryHooks.java"
251	.line 45
252	.prologue_end
253	.line 45
254	    0| const v0, #+21 (0x00000015 | 2.94273e-44)
255	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
256	    6| move-object v1, v3
257	.local v1, "this", Target
258	    7| move-object v2, v1
259	    8| invoke-direct {v2}, java.lang.Object.<init>():void
260	   11| const v0, #+22 (0x00000016 | 3.08286e-44)
261	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
262	   17| return-void
263}
264
265method Target.main(java.lang.String[]):void
266{
267	.params "?"
268	.src "entryHooks.java"
269	.line 51
270	.prologue_end
271	.line 51
272	    0| const v0, #+23 (0x00000017 | 3.22299e-44)
273	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
274	    6| move-object v1, v9
275	.local v1, "args", java.lang.String[]
276	    7| sget-object v2, java.lang.System.out
277	    9| const v0, #+24 (0x00000018 | 3.36312e-44)
278	   12| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
279	   15| const-string v3, "Hello, world!"
280	   17| const v0, #+25 (0x00000019 | 3.50325e-44)
281	   20| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
282	   23| invoke-virtual {v2,v3}, java.io.PrintStream.println(java.lang.String):void
283	.line 52
284	   26| const v0, #+26 (0x0000001a | 3.64338e-44)
285	   29| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
286	   32| sget-object v2, java.lang.System.out
287	   34| const v0, #+27 (0x0000001b | 3.78351e-44)
288	   37| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
289	   40| const-string v3, "final = %d\n"
290	   42| const v0, #+28 (0x0000001c | 3.92364e-44)
291	   45| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
292	   48| const/4 v4, #+1 (0x00000001 | 1.40130e-45)
293	   49| new-array v4, v4, java.lang.Object[]
294	   51| const v0, #+29 (0x0000001d | 4.06377e-44)
295	   54| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
296	   57| move-object v8, v4
297	   58| move-object v4, v8
298	   59| move-object v5, v8
299	   60| const/4 v6, #+0 (0x00000000 | 0.00000)
300	   61| invoke-static {}, Target.test():int
301	   64| move-result v7
302	   65| const v0, #+30 (0x0000001e | 4.20390e-44)
303	   68| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
304	   71| invoke-static {v7}, java.lang.Integer.valueOf(int):java.lang.Integer
305	   74| move-result-object v7
306	   75| const v0, #+31 (0x0000001f | 4.34403e-44)
307	   78| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
308	   81| aput-object v7, v5, v6
309	   83| const v0, #+32 (0x00000020 | 4.48416e-44)
310	   86| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
311	   89| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
312	   92| move-result-object v2
313	   93| const v0, #+33 (0x00000021 | 4.62428e-44)
314	   96| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
315	.line 53
316	   99| sget-object v2, java.lang.System.out
317	  101| const v0, #+34 (0x00000022 | 4.76441e-44)
318	  104| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
319	  107| const-string v3, "Good bye!"
320	  109| const v0, #+35 (0x00000023 | 4.90454e-44)
321	  112| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
322	  115| invoke-virtual {v2,v3}, java.io.PrintStream.println(java.lang.String):void
323	.line 54
324	  118| const v0, #+36 (0x00000024 | 5.04467e-44)
325	  121| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
326	  124| return-void
327}
328
329method Target.test():int
330{
331	.src "entryHooks.java"
332	.line 58
333	.prologue_end
334	.line 58
335	    0| const v5, #+37 (0x00000025 | 5.18480e-44)
336	    3| invoke-static/range {v5..v5}, CodeCoverage.TraceBasicBlock(int):void
337	    6| new-instance v1, Target
338	    8| const v5, #+38 (0x00000026 | 5.32493e-44)
339	   11| invoke-static/range {v5..v5}, CodeCoverage.TraceBasicBlock(int):void
340	   14| move-object v4, v1
341	   15| move-object v1, v4
342	   16| move-object v2, v4
343	   17| invoke-direct {v2}, Target.<init>():void
344	   20| const v5, #+39 (0x00000027 | 5.46506e-44)
345	   23| invoke-static/range {v5..v5}, CodeCoverage.TraceBasicBlock(int):void
346	   26| move-object v0, v1
347	.line 59
348	.local v0, "obj", Target
349	   27| move-object v1, v0
350	   28| new-instance v2, Derived
351	   30| const v5, #+40 (0x00000028 | 5.60519e-44)
352	   33| invoke-static/range {v5..v5}, CodeCoverage.TraceBasicBlock(int):void
353	   36| move-object v4, v2
354	   37| move-object v2, v4
355	   38| move-object v3, v4
356	   39| invoke-direct {v3}, Derived.<init>():void
357	   42| const v5, #+41 (0x00000029 | 5.74532e-44)
358	   45| invoke-static/range {v5..v5}, CodeCoverage.TraceBasicBlock(int):void
359	   48| iput-object v2, v1, Target.test
360	.line 60
361	   50| const v5, #+42 (0x0000002a | 5.88545e-44)
362	   53| invoke-static/range {v5..v5}, CodeCoverage.TraceBasicBlock(int):void
363	   56| move-object v1, v0
364	   57| const/4 v2, #+3 (0x00000003 | 4.20390e-45)
365	   58| const-string v3, "Testing..."
366	   60| const v5, #+43 (0x0000002b | 6.02558e-44)
367	   63| invoke-static/range {v5..v5}, CodeCoverage.TraceBasicBlock(int):void
368	   66| invoke-virtual {v1,v2,v3}, Target.foo(int, java.lang.String):int
369	   69| move-result v1
370	   70| const v5, #+44 (0x0000002c | 6.16571e-44)
371	   73| invoke-static/range {v5..v5}, CodeCoverage.TraceBasicBlock(int):void
372	   76| move v0, v1
373	.end_local v0
374	   77| return v0
375}
376
377method Target.foo(int):int
378{
379	.params "?"
380	.src "entryHooks.java"
381	.line 74
382	.prologue_end
383	.line 74
384	    0| const v0, #+45 (0x0000002d | 6.30584e-44)
385	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
386	    6| move-object v1, v4
387	.local v1, "this", Target
388	    7| move v2, v5
389	.local v2, "x", int
390	    8| const/4 v3, #+1 (0x00000001 | 1.40130e-45)
391	    9| move v1, v3
392	.end_local v1
393	   10| return v1
394}
395
396method Target.foo(int, int):int
397{
398	.params "?", "?"
399	.src "entryHooks.java"
400	.line 75
401	.prologue_end
402	.line 75
403	    0| const v0, #+46 (0x0000002e | 6.44597e-44)
404	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
405	    6| move-object v1, v5
406	.local v1, "this", Target
407	    7| move v2, v6
408	.local v2, "x", int
409	    8| move v3, v7
410	.local v3, "y", int
411	    9| const/4 v4, #+2 (0x00000002 | 2.80260e-45)
412	   10| move v1, v4
413	.end_local v1
414	   11| return v1
415}
416
417method Target.foo(int, java.lang.String):int
418{
419	.params "?", "?"
420	.src "entryHooks.java"
421	.line 65
422	.prologue_end
423	.line 65
424	    0| const v0, #+47 (0x0000002f | 6.58610e-44)
425	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
426	    6| move-object v1, v10
427	.local v1, "this", Target
428	    7| move v2, v11
429	.local v2, "x", int
430	    8| move-object v3, v12
431	.local v3, "msg", java.lang.String
432	    9| const/4 v6, #+0 (0x00000000 | 0.00000)
433	   10| move v4, v6
434	.line 66
435	.local v4, "sum", int
436	   11| const/4 v6, #+0 (0x00000000 | 0.00000)
437	   12| move v5, v6
438Label_1:
439	.local v5, "i", int
440	   13| const v0, #+48 (0x00000030 | 6.72623e-44)
441	   16| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
442	   19| move v6, v5
443	   20| move v7, v2
444	   21| if-ge v6, v7, Label_2
445	.line 68
446	   23| const v0, #+49 (0x00000031 | 6.86636e-44)
447	   26| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
448	   29| move v6, v4
449	   30| move-object v7, v1
450	   31| iget-object v7, v7, Target.test
451	   33| const v0, #+50 (0x00000032 | 7.00649e-44)
452	   36| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
453	   39| move v8, v5
454	   40| move-object v9, v3
455	   41| invoke-virtual {v7,v8,v9}, Base.foo(int, java.lang.String):int
456	   44| move-result v7
457	   45| const v0, #+51 (0x00000033 | 7.14662e-44)
458	   48| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
459	   51| add-int/2addr v6, v7
460	   52| move v4, v6
461	.line 66
462	   53| add-int/lit8 v5, v5, #+1 (0x00000001 | 1.40130e-45)
463	   55| goto/16 Label_1
464Label_2:
465	.line 70
466	   57| const v0, #+52 (0x00000034 | 7.28675e-44)
467	   60| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
468	   63| move v6, v4
469	   64| move v1, v6
470	.end_local v1
471	   65| return v1
472}
473
474method Target.foo(int, java.lang.String, java.lang.String):int
475{
476	.params "?", "?", "?"
477	.src "entryHooks.java"
478	.line 76
479	.prologue_end
480	.line 76
481	    0| const v0, #+53 (0x00000035 | 7.42688e-44)
482	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
483	    6| move-object v1, v6
484	.local v1, "this", Target
485	    7| move v2, v7
486	.local v2, "x", int
487	    8| move-object v3, v8
488	.local v3, "msg", java.lang.String
489	    9| move-object v4, v9
490	.local v4, "msg2", java.lang.String
491	   10| const/4 v5, #+3 (0x00000003 | 4.20390e-45)
492	   11| move v1, v5
493	.end_local v1
494	   12| return v1
495}
496
497method Target.foo(int, java.lang.String[]):int
498{
499	.params "?", "?"
500	.src "entryHooks.java"
501	.line 77
502	.prologue_end
503	.line 77
504	    0| const v0, #+54 (0x00000036 | 7.56701e-44)
505	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
506	    6| move-object v1, v5
507	.local v1, "this", Target
508	    7| move v2, v6
509	.local v2, "x", int
510	    8| move-object v3, v7
511	.local v3, "msgs", java.lang.String[]
512	    9| const/4 v4, #+4 (0x00000004 | 5.60519e-45)
513	   10| move v1, v4
514	.end_local v1
515	   11| return v1
516}
517
518method Target.foo(int, java.lang.String[][]):java.lang.Integer
519{
520	.params "?", "?"
521	.src "entryHooks.java"
522	.line 78
523	.prologue_end
524	.line 78
525	    0| const v0, #+55 (0x00000037 | 7.70714e-44)
526	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
527	    6| move-object v1, v5
528	.local v1, "this", Target
529	    7| move v2, v6
530	.local v2, "x", int
531	    8| move-object v3, v7
532	.local v3, "msgs", java.lang.String[][]
533	    9| const/4 v4, #+5 (0x00000005 | 7.00649e-45)
534	   10| invoke-static {v4}, java.lang.Integer.valueOf(int):java.lang.Integer
535	   13| move-result-object v4
536	   14| const v0, #+56 (0x00000038 | 7.84727e-44)
537	   17| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
538	   20| move-object v1, v4
539	.end_local v1
540	   21| return-object v1
541}
542
543method Target.foo():void
544{
545	.src "entryHooks.java"
546	.line 73
547	.prologue_end
548	.line 73
549	    0| const v0, #+57 (0x00000039 | 7.98740e-44)
550	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
551	    6| return-void
552}
553
554method Tracer.<init>():void
555{
556	.src "entryHooks.java"
557	.line 2
558	.prologue_end
559	.line 2
560	    0| const v0, #+58 (0x0000003a | 8.12753e-44)
561	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
562	    6| move-object v1, v3
563	.local v1, "this", Tracer
564	    7| move-object v2, v1
565	    8| invoke-direct {v2}, java.lang.Object.<init>():void
566	   11| const v0, #+59 (0x0000003b | 8.26766e-44)
567	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
568	   17| return-void
569}
570
571method Tracer.onEntry(java.lang.String):void
572{
573	.params "?"
574	.src "entryHooks.java"
575	.line 6
576	.prologue_end
577	.line 6
578	    0| const v0, #+60 (0x0000003c | 8.40779e-44)
579	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
580	    6| move-object v1, v6
581	.local v1, "methodName", java.lang.String
582	    7| sget-object v2, java.lang.System.out
583	    9| const v0, #+61 (0x0000003d | 8.54792e-44)
584	   12| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
585	   15| new-instance v3, java.lang.StringBuilder
586	   17| const v0, #+62 (0x0000003e | 8.68805e-44)
587	   20| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
588	   23| move-object v5, v3
589	   24| move-object v3, v5
590	   25| move-object v4, v5
591	   26| invoke-direct {v4}, java.lang.StringBuilder.<init>():void
592	   29| const v0, #+63 (0x0000003f | 8.82818e-44)
593	   32| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
594	   35| const-string v4, "OnEntry("
595	   37| const v0, #+64 (0x00000040 | 8.96831e-44)
596	   40| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
597	   43| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
598	   46| move-result-object v3
599	   47| const v0, #+65 (0x00000041 | 9.10844e-44)
600	   50| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
601	   53| move-object v4, v1
602	   54| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
603	   57| move-result-object v3
604	   58| const v0, #+66 (0x00000042 | 9.24857e-44)
605	   61| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
606	   64| const-string v4, ")"
607	   66| const v0, #+67 (0x00000043 | 9.38870e-44)
608	   69| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
609	   72| invoke-virtual {v3,v4}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
610	   75| move-result-object v3
611	   76| const v0, #+68 (0x00000044 | 9.52883e-44)
612	   79| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
613	   82| invoke-virtual {v3}, java.lang.StringBuilder.toString():java.lang.String
614	   85| move-result-object v3
615	   86| const v0, #+69 (0x00000045 | 9.66896e-44)
616	   89| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
617	   92| invoke-virtual {v2,v3}, java.io.PrintStream.println(java.lang.String):void
618	.line 7
619	   95| const v0, #+70 (0x00000046 | 9.80909e-44)
620	   98| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
621	  101| return-void
622}
623
624method Tracer.onFooEntry(Target, int, java.lang.String):void
625{
626	.params "?", "?", "?"
627	.src "entryHooks.java"
628	.line 11
629	.prologue_end
630	.line 11
631	    0| const v0, #+71 (0x00000047 | 9.94922e-44)
632	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
633	    6| move-object v1, v11
634	.local v1, "__this", Target
635	    7| move v2, v12
636	.local v2, "x", int
637	    8| move-object v3, v13
638	.local v3, "msg", java.lang.String
639	    9| sget-object v4, java.lang.System.out
640	   11| const v0, #+72 (0x00000048 | 1.00893e-43)
641	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
642	   17| const-string v5, ">>> onFooEntry(%s, %d, %s)\n"
643	   19| const v0, #+73 (0x00000049 | 1.02295e-43)
644	   22| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
645	   25| const/4 v6, #+3 (0x00000003 | 4.20390e-45)
646	   26| new-array v6, v6, java.lang.Object[]
647	   28| const v0, #+74 (0x0000004a | 1.03696e-43)
648	   31| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
649	   34| move-object v10, v6
650	   35| move-object v6, v10
651	   36| move-object v7, v10
652	   37| const/4 v8, #+0 (0x00000000 | 0.00000)
653	   38| move-object v9, v1
654	   39| aput-object v9, v7, v8
655	   41| const v0, #+75 (0x0000004b | 1.05097e-43)
656	   44| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
657	   47| move-object v10, v6
658	   48| move-object v6, v10
659	   49| move-object v7, v10
660	   50| const/4 v8, #+1 (0x00000001 | 1.40130e-45)
661	   51| move v9, v2
662	   52| invoke-static {v9}, java.lang.Integer.valueOf(int):java.lang.Integer
663	   55| move-result-object v9
664	   56| const v0, #+76 (0x0000004c | 1.06499e-43)
665	   59| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
666	   62| aput-object v9, v7, v8
667	   64| const v0, #+77 (0x0000004d | 1.07900e-43)
668	   67| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
669	   70| move-object v10, v6
670	   71| move-object v6, v10
671	   72| move-object v7, v10
672	   73| const/4 v8, #+2 (0x00000002 | 2.80260e-45)
673	   74| move-object v9, v3
674	   75| aput-object v9, v7, v8
675	   77| const v0, #+78 (0x0000004e | 1.09301e-43)
676	   80| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
677	   83| invoke-virtual {v4,v5,v6}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
678	   86| move-result-object v4
679	   87| const v0, #+79 (0x0000004f | 1.10703e-43)
680	   90| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
681	.line 12
682	   93| return-void
683}
684
685method Tracer.onFooExit(int):int
686{
687	.params "?"
688	.src "entryHooks.java"
689	.line 16
690	.prologue_end
691	.line 16
692	    0| const v0, #+80 (0x00000050 | 1.12104e-43)
693	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
694	    6| move v1, v9
695	.local v1, "retValue", int
696	    7| sget-object v2, java.lang.System.out
697	    9| const v0, #+81 (0x00000051 | 1.13505e-43)
698	   12| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
699	   15| const-string v3, ">>> onFooExit(%d)\n"
700	   17| const v0, #+82 (0x00000052 | 1.14906e-43)
701	   20| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
702	   23| const/4 v4, #+1 (0x00000001 | 1.40130e-45)
703	   24| new-array v4, v4, java.lang.Object[]
704	   26| const v0, #+83 (0x00000053 | 1.16308e-43)
705	   29| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
706	   32| move-object v8, v4
707	   33| move-object v4, v8
708	   34| move-object v5, v8
709	   35| const/4 v6, #+0 (0x00000000 | 0.00000)
710	   36| move v7, v1
711	   37| invoke-static {v7}, java.lang.Integer.valueOf(int):java.lang.Integer
712	   40| move-result-object v7
713	   41| const v0, #+84 (0x00000054 | 1.17709e-43)
714	   44| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
715	   47| aput-object v7, v5, v6
716	   49| const v0, #+85 (0x00000055 | 1.19110e-43)
717	   52| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
718	   55| invoke-virtual {v2,v3,v4}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
719	   58| move-result-object v2
720	   59| const v0, #+86 (0x00000056 | 1.20512e-43)
721	   62| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
722	.line 17
723	   65| move v2, v1
724	   66| const/16 v3, #+100 (0x00000064 | 1.40130e-43)
725	   68| add-int/lit8 v2, v2, #+100 (0x00000064 | 1.40130e-43)
726	   70| move v1, v2
727	.end_local v1
728	   71| return v1
729}
730
731method Tracer.wrapFoo(Base, int, java.lang.String):int
732{
733	.params "?", "?", "?"
734	.src "entryHooks.java"
735	.line 22
736	.prologue_end
737	.line 22
738	    0| const v0, #+87 (0x00000057 | 1.21913e-43)
739	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
740	    6| move-object v1, v11
741	.local v1, "_this", Base
742	    7| move v2, v12
743	.local v2, "x", int
744	    8| move-object v3, v13
745	.local v3, "msg", java.lang.String
746	    9| sget-object v4, java.lang.System.out
747	   11| const v0, #+88 (0x00000058 | 1.23314e-43)
748	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
749	   17| const-string v5, ">>> %s.test(%d, %s)\n"
750	   19| const v0, #+89 (0x00000059 | 1.24716e-43)
751	   22| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
752	   25| const/4 v6, #+3 (0x00000003 | 4.20390e-45)
753	   26| new-array v6, v6, java.lang.Object[]
754	   28| const v0, #+90 (0x0000005a | 1.26117e-43)
755	   31| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
756	   34| move-object v10, v6
757	   35| move-object v6, v10
758	   36| move-object v7, v10
759	   37| const/4 v8, #+0 (0x00000000 | 0.00000)
760	   38| move-object v9, v1
761	   39| invoke-virtual {v9}, java.lang.Object.getClass():java.lang.Class
762	   42| move-result-object v9
763	   43| const v0, #+91 (0x0000005b | 1.27518e-43)
764	   46| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
765	   49| invoke-virtual {v9}, java.lang.Class.getName():java.lang.String
766	   52| move-result-object v9
767	   53| const v0, #+92 (0x0000005c | 1.28919e-43)
768	   56| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
769	   59| aput-object v9, v7, v8
770	   61| const v0, #+93 (0x0000005d | 1.30321e-43)
771	   64| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
772	   67| move-object v10, v6
773	   68| move-object v6, v10
774	   69| move-object v7, v10
775	   70| const/4 v8, #+1 (0x00000001 | 1.40130e-45)
776	   71| move v9, v2
777	   72| invoke-static {v9}, java.lang.Integer.valueOf(int):java.lang.Integer
778	   75| move-result-object v9
779	   76| const v0, #+94 (0x0000005e | 1.31722e-43)
780	   79| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
781	   82| aput-object v9, v7, v8
782	   84| const v0, #+95 (0x0000005f | 1.33123e-43)
783	   87| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
784	   90| move-object v10, v6
785	   91| move-object v6, v10
786	   92| move-object v7, v10
787	   93| const/4 v8, #+2 (0x00000002 | 2.80260e-45)
788	   94| move-object v9, v3
789	   95| aput-object v9, v7, v8
790	   97| const v0, #+96 (0x00000060 | 1.34525e-43)
791	  100| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
792	  103| invoke-virtual {v4,v5,v6}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
793	  106| move-result-object v4
794	  107| const v0, #+97 (0x00000061 | 1.35926e-43)
795	  110| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
796	.line 23
797	  113| move-object v4, v1
798	  114| move v5, v2
799	  115| move-object v6, v3
800	  116| invoke-virtual {v4,v5,v6}, Base.foo(int, java.lang.String):int
801	  119| move-result v4
802	  120| const v0, #+98 (0x00000062 | 1.37327e-43)
803	  123| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
804	  126| const/16 v5, #+10 (0x0000000a | 1.40130e-44)
805	  128| add-int/lit8 v4, v4, #+10 (0x0000000a | 1.40130e-44)
806	  130| move v1, v4
807	.end_local v1
808	  131| return v1
809}
810