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