lin
2025-07-30 fcd736bf35fd93b563e9bbf594f2aa7b62028cc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
       1: mi=0 s=0 e=0
       2: mi=0 s=3 e=3
       3: mi=1 s=0 e=1
       4: mi=3 s=0 e=0
       5: mi=3 s=3 e=3
       6: mi=3 s=5 e=5
       7: mi=3 s=7 e=7
       8: mi=4 s=0 e=0
       9: mi=4 s=2 e=2
      10: mi=4 s=5 e=6
      11: mi=4 s=8 e=8
      12: mi=4 s=11 e=11
      13: mi=5 s=0 e=0
      14: mi=5 s=2 e=2
      15: mi=5 s=4 e=4
      16: mi=5 s=7 e=7
      17: mi=5 s=9 e=9
      18: mi=5 s=11 e=11
      19: mi=5 s=14 e=15
 
method Base.<init>():void
{
   .src "Target.java"
   .line 1
   .prologue_end
   .line 1
       0| const v0, #+1 (0x00000001 | 1.40130e-45)
       3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
       6| invoke-direct {v1}, java.lang.Object.<init>():void
       9| const v0, #+2 (0x00000002 | 2.80260e-45)
      12| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      15| return-void
}
 
method Base.foo(int, java.lang.String):int
{
   .params "?", "?"
   .src "Target.java"
   .line 3
   .prologue_end
   .line 3
       0| const v0, #+3 (0x00000003 | 4.20390e-45)
       3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
       6| const/4 v1, #+0 (0x00000000 | 0.00000)
       7| return v1
}
 
method IBase.bar(java.lang.String):void
{
}
 
method Target.<init>(Base, IBase):void
{
   .params "?", "?"
   .src "Target.java"
   .line 15
   .prologue_end
   .line 15
       0| const v0, #+4 (0x00000004 | 5.60519e-45)
       3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
       6| invoke-direct {v1}, java.lang.Object.<init>():void
   .line 16
       9| const v0, #+5 (0x00000005 | 7.00649e-45)
      12| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      15| iput-object v2, v1, Target.base
   .line 17
      17| const v0, #+6 (0x00000006 | 8.40779e-45)
      20| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      23| iput-object v3, v1, Target.iBase
   .line 18
      25| const v0, #+7 (0x00000007 | 9.80909e-45)
      28| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      31| return-void
}
 
method Target.foo(int, java.lang.String):int
{
   .params "?", "?"
   .src "Target.java"
   .line 21
   .prologue_end
   .line 21
       0| const v0, #+8 (0x00000008 | 1.12104e-44)
       3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
       6| iget-object v1, v3, Target.base
       8| const v0, #+9 (0x00000009 | 1.26117e-44)
      11| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      14| invoke-virtual {v1,v4,v5}, Base.foo(int, java.lang.String):int
      17| move-result v1
      18| const v0, #+10 (0x0000000a | 1.40130e-44)
      21| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
   .line 22
      24| iget-object v2, v3, Target.iBase
      26| const v0, #+11 (0x0000000b | 1.54143e-44)
      29| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      32| invoke-interface {v2,v5}, IBase.bar(java.lang.String):void
   .line 23
      35| const v0, #+12 (0x0000000c | 1.68156e-44)
      38| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      41| return v1
}
 
method Target.foo(int, java.lang.String[][]):java.lang.Integer
{
   .params "?", "?"
   .src "Target.java"
   .line 27
   .prologue_end
   .line 27
       0| const v0, #+13 (0x0000000d | 1.82169e-44)
       3| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
       6| iget-object v1, v3, Target.base
       8| const v0, #+14 (0x0000000e | 1.96182e-44)
      11| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      14| const-string v2, "foo"
      16| const v0, #+15 (0x0000000f | 2.10195e-44)
      19| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      22| invoke-virtual {v1,v4,v2}, Base.foo(int, java.lang.String):int
   .line 28
      25| const v0, #+16 (0x00000010 | 2.24208e-44)
      28| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      31| iget-object v1, v3, Target.iBase
      33| const v0, #+17 (0x00000011 | 2.38221e-44)
      36| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      39| const-string v2, "bar"
      41| const v0, #+18 (0x00000012 | 2.52234e-44)
      44| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      47| invoke-interface {v1,v2}, IBase.bar(java.lang.String):void
   .line 29
      50| const v0, #+19 (0x00000013 | 2.66247e-44)
      53| invoke-static/range {v0..v0}, CodeCoverage.TraceBasicBlock(int):void
      56| const/4 v1, #+0 (0x00000000 | 0.00000)
      57| return-object v1
}