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