1       1: mi=0 s=0 e=4
2       2: mi=0 s=6 e=7
3       3: mi=0 s=10 e=10
4       4: mi=1 s=0 e=2
5       5: mi=1 s=5 e=5
6       6: mi=2 s=0 e=2
7       7: mi=2 s=5 e=5
8       8: mi=3 s=0 e=2
9       9: mi=3 s=5 e=5
10      10: mi=3 s=7 e=7
11      11: mi=3 s=9 e=12
12      12: mi=3 s=15 e=15
13      13: mi=3 s=17 e=17
14      14: mi=3 s=20 e=22
15      15: mi=3 s=25 e=26
16      16: mi=3 s=29 e=30
17      17: mi=3 s=33 e=33
18      18: mi=4 s=0 e=2
19      19: mi=4 s=5 e=5
20      20: mi=5 s=0 e=2
21      21: mi=5 s=4 e=4
22      22: mi=5 s=6 e=9
23      23: mi=5 s=12 e=12
24      24: mi=5 s=14 e=14
25      25: mi=5 s=17 e=19
26      26: mi=5 s=22 e=23
27      27: mi=5 s=26 e=27
28      28: mi=5 s=30 e=30
29      29: mi=6 s=0 e=2
30      30: mi=6 s=5 e=5
31      31: mi=7 s=0 e=1
32      32: mi=7 s=3 e=3
33      33: mi=7 s=5 e=6
34      34: mi=7 s=8 e=8
35      35: mi=7 s=11 e=12
36      36: mi=7 s=14 e=14
37      37: mi=7 s=16 e=16
38      38: mi=7 s=19 e=19
39      39: mi=7 s=21 e=21
40      40: mi=7 s=23 e=24
41      41: mi=7 s=26 e=26
42      42: mi=7 s=29 e=30
43      43: mi=7 s=32 e=35
44      44: mi=7 s=38 e=41
45      45: mi=7 s=44 e=44
46      46: mi=7 s=46 e=46
47      47: mi=7 s=48 e=49
48      48: mi=7 s=51 e=51
49      49: mi=7 s=54 e=55
50      50: mi=7 s=57 e=60
51      51: mi=7 s=63 e=66
52      52: mi=7 s=69 e=69
53      53: mi=8 s=0 e=0
54      54: mi=8 s=2 e=5
55      55: mi=8 s=8 e=8
56      56: mi=8 s=11 e=16
57      57: mi=8 s=17 e=19
58      58: mi=8 s=20 e=22
59      59: mi=8 s=24 e=26
60      60: mi=8 s=28 e=29
61      61: mi=8 s=31 e=31
62      62: mi=8 s=33 e=34
63      63: mi=8 s=36 e=41
64      64: mi=8 s=44 e=45
65      65: mi=8 s=47 e=47
66      66: mi=8 s=50 e=53
67      67: mi=8 s=54 e=54
68
69method Base$Inner.<init>(Base):void
70{
71	    0| const v0, #+1 (0x00000001 | 1.40130e-45)
72	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
73	    6| move-object v1, v5
74	    7| move-object v2, v6
75	    8| move-object v3, v1
76	    9| move-object v4, v2
77	   10| iput-object v4, v3, Base$Inner.this$0
78	   12| const v0, #+2 (0x00000002 | 2.80260e-45)
79	   15| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
80	   18| move-object v3, v1
81	   19| invoke-direct {v3}, java.lang.Object.<init>():void
82	   22| const v0, #+3 (0x00000003 | 4.20390e-45)
83	   25| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
84	   28| return-void
85}
86
87method Base$Nested.<init>():void
88{
89	    0| const v0, #+4 (0x00000004 | 5.60519e-45)
90	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
91	    6| move-object v1, v3
92	    7| move-object v2, v1
93	    8| invoke-direct {v2}, java.lang.Object.<init>():void
94	   11| const v0, #+5 (0x00000005 | 7.00649e-45)
95	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
96	   17| return-void
97}
98
99method Base.<init>():void
100{
101	    0| const v0, #+6 (0x00000006 | 8.40779e-45)
102	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
103	    6| move-object v1, v3
104	    7| move-object v2, v1
105	    8| invoke-direct {v2}, java.lang.Object.<init>():void
106	   11| const v0, #+7 (0x00000007 | 9.80909e-45)
107	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
108	   17| return-void
109}
110
111method Base.test(int):void
112{
113	    0| const v0, #+8 (0x00000008 | 1.12104e-44)
114	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
115	    6| move-object v1, v7
116	    7| move v2, v8
117	    8| invoke-static {}, Hello.printStackTrace():void
118	   11| const v0, #+9 (0x00000009 | 1.26117e-44)
119	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
120	   17| sget-object v3, java.lang.System.out
121	   19| const v0, #+10 (0x0000000a | 1.40130e-44)
122	   22| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
123	   25| new-instance v4, java.lang.StringBuilder
124	   27| const v0, #+11 (0x0000000b | 1.54143e-44)
125	   30| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
126	   33| move-object v6, v4
127	   34| move-object v4, v6
128	   35| move-object v5, v6
129	   36| invoke-direct {v5}, java.lang.StringBuilder.<init>():void
130	   39| const v0, #+12 (0x0000000c | 1.68156e-44)
131	   42| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
132	   45| const-string v5, "Base.test "
133	   47| const v0, #+13 (0x0000000d | 1.82169e-44)
134	   50| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
135	   53| invoke-virtual {v4,v5}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
136	   56| move-result-object v4
137	   57| const v0, #+14 (0x0000000e | 1.96182e-44)
138	   60| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
139	   63| move v5, v2
140	   64| invoke-virtual {v4,v5}, java.lang.StringBuilder.append(int):java.lang.StringBuilder
141	   67| move-result-object v4
142	   68| const v0, #+15 (0x0000000f | 2.10195e-44)
143	   71| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
144	   74| invoke-virtual {v4}, java.lang.StringBuilder.toString():java.lang.String
145	   77| move-result-object v4
146	   78| const v0, #+16 (0x00000010 | 2.24208e-44)
147	   81| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
148	   84| invoke-virtual {v3,v4}, java.io.PrintStream.println(java.lang.String):void
149	   87| const v0, #+17 (0x00000011 | 2.38221e-44)
150	   90| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
151	   93| return-void
152}
153
154method Derived.<init>():void
155{
156	    0| const v0, #+18 (0x00000012 | 2.52234e-44)
157	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
158	    6| move-object v1, v3
159	    7| move-object v2, v1
160	    8| invoke-direct {v2}, Base.<init>():void
161	   11| const v0, #+19 (0x00000013 | 2.66247e-44)
162	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
163	   17| return-void
164}
165
166method Derived.test(int):void
167{
168	    0| const v0, #+20 (0x00000014 | 2.80260e-44)
169	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
170	    6| move-object v1, v7
171	    7| move v2, v8
172	    8| sget-object v3, java.lang.System.out
173	   10| const v0, #+21 (0x00000015 | 2.94273e-44)
174	   13| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
175	   16| new-instance v4, java.lang.StringBuilder
176	   18| const v0, #+22 (0x00000016 | 3.08286e-44)
177	   21| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
178	   24| move-object v6, v4
179	   25| move-object v4, v6
180	   26| move-object v5, v6
181	   27| invoke-direct {v5}, java.lang.StringBuilder.<init>():void
182	   30| const v0, #+23 (0x00000017 | 3.22299e-44)
183	   33| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
184	   36| const-string v5, "Derived.test "
185	   38| const v0, #+24 (0x00000018 | 3.36312e-44)
186	   41| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
187	   44| invoke-virtual {v4,v5}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder
188	   47| move-result-object v4
189	   48| const v0, #+25 (0x00000019 | 3.50325e-44)
190	   51| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
191	   54| move v5, v2
192	   55| invoke-virtual {v4,v5}, java.lang.StringBuilder.append(int):java.lang.StringBuilder
193	   58| move-result-object v4
194	   59| const v0, #+26 (0x0000001a | 3.64338e-44)
195	   62| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
196	   65| invoke-virtual {v4}, java.lang.StringBuilder.toString():java.lang.String
197	   68| move-result-object v4
198	   69| const v0, #+27 (0x0000001b | 3.78351e-44)
199	   72| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
200	   75| invoke-virtual {v3,v4}, java.io.PrintStream.println(java.lang.String):void
201	   78| const v0, #+28 (0x0000001c | 3.92364e-44)
202	   81| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
203	   84| return-void
204}
205
206method Hello.<init>():void
207{
208	    0| const v0, #+29 (0x0000001d | 4.06377e-44)
209	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
210	    6| move-object v1, v3
211	    7| move-object v2, v1
212	    8| invoke-direct {v2}, java.lang.Object.<init>():void
213	   11| const v0, #+30 (0x0000001e | 4.20390e-44)
214	   14| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
215	   17| return-void
216}
217
218method Hello.main(java.lang.String[]):void
219{
220	    0| const v0, #+31 (0x0000001f | 4.34403e-44)
221	    3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
222	    6| move-object v1, v7
223	    7| sget-object v3, java.lang.System.out
224	    9| const v0, #+32 (0x00000020 | 4.48416e-44)
225	   12| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
226	   15| const-string v4, "-------------------------------------------------------\n"
227	   17| const v0, #+33 (0x00000021 | 4.62428e-44)
228	   20| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
229	   23| const/4 v5, #+0 (0x00000000 | 0.00000)
230	   24| new-array v5, v5, java.lang.Object[]
231	   26| const v0, #+34 (0x00000022 | 4.76441e-44)
232	   29| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
233	   32| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
234	   35| move-result-object v3
235	   36| const v0, #+35 (0x00000023 | 4.90454e-44)
236	   39| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
237	   42| sget-object v3, java.lang.System.out
238	   44| const v0, #+36 (0x00000024 | 5.04467e-44)
239	   47| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
240	   50| const-string v4, "Hello, world (original)"
241	   52| const v0, #+37 (0x00000025 | 5.18480e-44)
242	   55| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
243	   58| invoke-virtual {v3,v4}, java.io.PrintStream.println(java.lang.String):void
244	   61| const v0, #+38 (0x00000026 | 5.32493e-44)
245	   64| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
246	   67| sget-object v3, java.lang.System.out
247	   69| const v0, #+39 (0x00000027 | 5.46506e-44)
248	   72| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
249	   75| const-string v4, "-------------------------------------------------------\n"
250	   77| const v0, #+40 (0x00000028 | 5.60519e-44)
251	   80| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
252	   83| const/4 v5, #+0 (0x00000000 | 0.00000)
253	   84| new-array v5, v5, java.lang.Object[]
254	   86| const v0, #+41 (0x00000029 | 5.74532e-44)
255	   89| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
256	   92| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
257	   95| move-result-object v3
258	   96| const v0, #+42 (0x0000002a | 5.88545e-44)
259	   99| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
260	  102| new-instance v3, Base
261	  104| const v0, #+43 (0x0000002b | 6.02558e-44)
262	  107| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
263	  110| move-object v6, v3
264	  111| move-object v3, v6
265	  112| move-object v4, v6
266	  113| invoke-direct {v4}, Base.<init>():void
267	  116| const v0, #+44 (0x0000002c | 6.16571e-44)
268	  119| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
269	  122| move-object v2, v3
270	  123| move-object v3, v2
271	  124| const/4 v4, #+1 (0x00000001 | 1.40130e-45)
272	  125| invoke-virtual {v3,v4}, Base.test(int):void
273	  128| const v0, #+45 (0x0000002d | 6.30584e-44)
274	  131| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
275	  134| sget-object v3, java.lang.System.out
276	  136| const v0, #+46 (0x0000002e | 6.44597e-44)
277	  139| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
278	  142| const-string v4, "-------------------------------------------------------\n"
279	  144| const v0, #+47 (0x0000002f | 6.58610e-44)
280	  147| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
281	  150| const/4 v5, #+0 (0x00000000 | 0.00000)
282	  151| new-array v5, v5, java.lang.Object[]
283	  153| const v0, #+48 (0x00000030 | 6.72623e-44)
284	  156| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
285	  159| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
286	  162| move-result-object v3
287	  163| const v0, #+49 (0x00000031 | 6.86636e-44)
288	  166| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
289	  169| new-instance v3, Derived
290	  171| const v0, #+50 (0x00000032 | 7.00649e-44)
291	  174| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
292	  177| move-object v6, v3
293	  178| move-object v3, v6
294	  179| move-object v4, v6
295	  180| invoke-direct {v4}, Derived.<init>():void
296	  183| const v0, #+51 (0x00000033 | 7.14662e-44)
297	  186| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
298	  189| move-object v2, v3
299	  190| move-object v3, v2
300	  191| const/4 v4, #+2 (0x00000002 | 2.80260e-45)
301	  192| invoke-virtual {v3,v4}, Base.test(int):void
302	  195| const v0, #+52 (0x00000034 | 7.28675e-44)
303	  198| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
304	  201| return-void
305}
306
307method Hello.printStackTrace():void
308{
309	    0| const v12, #+53 (0x00000035 | 7.42688e-44)
310	    3| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
311	    6| new-instance v5, java.lang.Throwable
312	    8| const v12, #+54 (0x00000036 | 7.56701e-44)
313	   11| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
314	   14| move-object v11, v5
315	   15| move-object v5, v11
316	   16| move-object v6, v11
317	   17| invoke-direct {v6}, java.lang.Throwable.<init>():void
318	   20| const v12, #+55 (0x00000037 | 7.70714e-44)
319	   23| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
320	   26| invoke-virtual {v5}, java.lang.Throwable.getStackTrace():java.lang.StackTraceElement[]
321	   29| move-result-object v5
322	   30| const v12, #+56 (0x00000038 | 7.84727e-44)
323	   33| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
324	   36| move-object v0, v5
325	   37| move-object v5, v0
326	   38| move-object v1, v5
327	   39| move-object v5, v1
328	   40| array-length v5, v5
329	   41| const v12, #+57 (0x00000039 | 7.98740e-44)
330	   44| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
331	   47| move v2, v5
332	   48| const/4 v5, #+0 (0x00000000 | 0.00000)
333	   49| move v3, v5
334Label_1:
335	   50| const v12, #+58 (0x0000003a | 8.12753e-44)
336	   53| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
337	   56| move v5, v3
338	   57| move v6, v2
339	   58| if-ge v5, v6, Label_2
340	   60| const v12, #+59 (0x0000003b | 8.26766e-44)
341	   63| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
342	   66| move-object v5, v1
343	   67| move v6, v3
344	   68| aget-object v5, v5, v6
345	   70| const v12, #+60 (0x0000003c | 8.40779e-44)
346	   73| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
347	   76| move-object v4, v5
348	   77| sget-object v5, java.lang.System.out
349	   79| const v12, #+61 (0x0000003d | 8.54792e-44)
350	   82| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
351	   85| const-string v6, "   %s\n"
352	   87| const v12, #+62 (0x0000003e | 8.68805e-44)
353	   90| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
354	   93| const/4 v7, #+1 (0x00000001 | 1.40130e-45)
355	   94| new-array v7, v7, java.lang.Object[]
356	   96| const v12, #+63 (0x0000003f | 8.82818e-44)
357	   99| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
358	  102| move-object v11, v7
359	  103| move-object v7, v11
360	  104| move-object v8, v11
361	  105| const/4 v9, #+0 (0x00000000 | 0.00000)
362	  106| move-object v10, v4
363	  107| invoke-virtual {v10}, java.lang.StackTraceElement.toString():java.lang.String
364	  110| move-result-object v10
365	  111| const v12, #+64 (0x00000040 | 8.96831e-44)
366	  114| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
367	  117| aput-object v10, v8, v9
368	  119| const v12, #+65 (0x00000041 | 9.10844e-44)
369	  122| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
370	  125| invoke-virtual {v5,v6,v7}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream
371	  128| move-result-object v5
372	  129| const v12, #+66 (0x00000042 | 9.24857e-44)
373	  132| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
374	  135| add-int/lit8 v3, v3, #+1 (0x00000001 | 1.40130e-45)
375	  137| goto/16 Label_1
376Label_2:
377	  139| const v12, #+67 (0x00000043 | 9.38870e-44)
378	  142| invoke-static/range {v12..v12}, CodeCoverage.TraceBasicBlock(int):void
379	  145| return-void
380}
381