1 2 method Base.<init>():void 3 { 4 ............................. begin block 1 ............................. 5 .src "entryHooks.java" 6 .line 27 7 .prologue_end 8 .line 27 9 0| move-object v0, v2 10 .local v0, "this", Base 11 1| move-object v1, v0 12 2| invoke-direct {v1}, java.lang.Object.<init>():void 13 .............................. end block 1 .............................. 14 ............................. begin block 2 ............................. 15 5| return-void 16 .............................. end block 2 .............................. 17 } 18 19 method Base.foo(int, java.lang.String):int 20 { 21 ............................. begin block 1 ............................. 22 .params "?", "?" 23 .src "entryHooks.java" 24 .line 31 25 .prologue_end 26 .line 31 27 0| move-object v0, v10 28 .local v0, "this", Base 29 1| move v1, v11 30 .local v1, "x", int 31 2| move-object v2, v12 32 .local v2, "msg", java.lang.String 33 3| sget-object v3, java.lang.System.out 34 .............................. end block 1 .............................. 35 ............................. begin block 2 ............................. 36 5| const-string v4, "Base.foo(%d, '%s')\n" 37 .............................. end block 2 .............................. 38 ............................. begin block 3 ............................. 39 7| const/4 v5, #+2 (0x00000002 | 2.80260e-45) 40 8| new-array v5, v5, java.lang.Object[] 41 .............................. end block 3 .............................. 42 ............................. begin block 4 ............................. 43 10| move-object v9, v5 44 11| move-object v5, v9 45 12| move-object v6, v9 46 13| const/4 v7, #+0 (0x00000000 | 0.00000) 47 14| move v8, v1 48 15| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer 49 .............................. end block 4 .............................. 50 ............................. begin block 5 ............................. 51 18| move-result-object v8 52 19| aput-object v8, v6, v7 53 .............................. end block 5 .............................. 54 ............................. begin block 6 ............................. 55 21| move-object v9, v5 56 22| move-object v5, v9 57 23| move-object v6, v9 58 24| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 59 25| move-object v8, v2 60 26| aput-object v8, v6, v7 61 .............................. end block 6 .............................. 62 ............................. begin block 7 ............................. 63 28| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 64 .............................. end block 7 .............................. 65 ............................. begin block 8 ............................. 66 31| move-result-object v3 67 .line 32 68 32| move v3, v1 69 33| move v0, v3 70 .end_local v0 71 34| return v0 72 .............................. end block 8 .............................. 73 } 74 75 method Derived.<init>():void 76 { 77 ............................. begin block 1 ............................. 78 .src "entryHooks.java" 79 .line 36 80 .prologue_end 81 .line 36 82 0| move-object v0, v2 83 .local v0, "this", Derived 84 1| move-object v1, v0 85 2| invoke-direct {v1}, Base.<init>():void 86 .............................. end block 1 .............................. 87 ............................. begin block 2 ............................. 88 5| return-void 89 .............................. end block 2 .............................. 90 } 91 92 method Derived.foo(int, java.lang.String):int 93 { 94 ............................. begin block 1 ............................. 95 .params "?", "?" 96 .src "entryHooks.java" 97 .line 40 98 .prologue_end 99 .line 40 100 0| move-object v0, v10 101 .local v0, "this", Derived 102 1| move v1, v11 103 .local v1, "x", int 104 2| move-object v2, v12 105 .local v2, "msg", java.lang.String 106 3| sget-object v3, java.lang.System.out 107 .............................. end block 1 .............................. 108 ............................. begin block 2 ............................. 109 5| const-string v4, "Derived.foo(%d, '%s')\n" 110 .............................. end block 2 .............................. 111 ............................. begin block 3 ............................. 112 7| const/4 v5, #+2 (0x00000002 | 2.80260e-45) 113 8| new-array v5, v5, java.lang.Object[] 114 .............................. end block 3 .............................. 115 ............................. begin block 4 ............................. 116 10| move-object v9, v5 117 11| move-object v5, v9 118 12| move-object v6, v9 119 13| const/4 v7, #+0 (0x00000000 | 0.00000) 120 14| move v8, v1 121 15| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer 122 .............................. end block 4 .............................. 123 ............................. begin block 5 ............................. 124 18| move-result-object v8 125 19| aput-object v8, v6, v7 126 .............................. end block 5 .............................. 127 ............................. begin block 6 ............................. 128 21| move-object v9, v5 129 22| move-object v5, v9 130 23| move-object v6, v9 131 24| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 132 25| move-object v8, v2 133 26| aput-object v8, v6, v7 134 .............................. end block 6 .............................. 135 ............................. begin block 7 ............................. 136 28| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 137 .............................. end block 7 .............................. 138 ............................. begin block 8 ............................. 139 31| move-result-object v3 140 .line 41 141 32| move v3, v1 142 33| const/4 v4, #+2 (0x00000002 | 2.80260e-45) 143 34| mul-int/lit8 v3, v3, #+2 (0x00000002 | 2.80260e-45) 144 36| move v0, v3 145 .end_local v0 146 37| return v0 147 .............................. end block 8 .............................. 148 } 149 150 method Target.<init>():void 151 { 152 ............................. begin block 1 ............................. 153 .src "entryHooks.java" 154 .line 45 155 .prologue_end 156 .line 45 157 0| move-object v0, v2 158 .local v0, "this", Target 159 1| move-object v1, v0 160 2| invoke-direct {v1}, java.lang.Object.<init>():void 161 .............................. end block 1 .............................. 162 ............................. begin block 2 ............................. 163 5| return-void 164 .............................. end block 2 .............................. 165 } 166 167 method Target.main(java.lang.String[]):void 168 { 169 ............................. begin block 1 ............................. 170 .params "?" 171 .src "entryHooks.java" 172 .line 51 173 .prologue_end 174 .line 51 175 0| move-object v0, v8 176 .local v0, "args", java.lang.String[] 177 1| sget-object v1, java.lang.System.out 178 .............................. end block 1 .............................. 179 ............................. begin block 2 ............................. 180 3| const-string v2, "Hello, world!" 181 .............................. end block 2 .............................. 182 ............................. begin block 3 ............................. 183 5| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 184 .............................. end block 3 .............................. 185 ............................. begin block 4 ............................. 186 .line 52 187 8| sget-object v1, java.lang.System.out 188 .............................. end block 4 .............................. 189 ............................. begin block 5 ............................. 190 10| const-string v2, "final = %d\n" 191 .............................. end block 5 .............................. 192 ............................. begin block 6 ............................. 193 12| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 194 13| new-array v3, v3, java.lang.Object[] 195 .............................. end block 6 .............................. 196 ............................. begin block 7 ............................. 197 15| move-object v7, v3 198 16| move-object v3, v7 199 17| move-object v4, v7 200 18| const/4 v5, #+0 (0x00000000 | 0.00000) 201 19| invoke-static {}, Target.test():int 202 .............................. end block 7 .............................. 203 ............................. begin block 8 ............................. 204 22| move-result v6 205 23| invoke-static {v6}, java.lang.Integer.valueOf(int):java.lang.Integer 206 .............................. end block 8 .............................. 207 ............................. begin block 9 ............................. 208 26| move-result-object v6 209 27| aput-object v6, v4, v5 210 .............................. end block 9 .............................. 211 ............................. begin block 10 ............................. 212 29| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 213 .............................. end block 10 .............................. 214 ............................. begin block 11 ............................. 215 32| move-result-object v1 216 .line 53 217 33| sget-object v1, java.lang.System.out 218 .............................. end block 11 .............................. 219 ............................. begin block 12 ............................. 220 35| const-string v2, "Good bye!" 221 .............................. end block 12 .............................. 222 ............................. begin block 13 ............................. 223 37| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 224 .............................. end block 13 .............................. 225 ............................. begin block 14 ............................. 226 .line 54 227 40| return-void 228 .............................. end block 14 .............................. 229 } 230 231 method Target.test():int 232 { 233 ............................. begin block 1 ............................. 234 .src "entryHooks.java" 235 .line 58 236 .prologue_end 237 .line 58 238 0| new-instance v1, Target 239 .............................. end block 1 .............................. 240 ............................. begin block 2 ............................. 241 2| move-object v4, v1 242 3| move-object v1, v4 243 4| move-object v2, v4 244 5| invoke-direct {v2}, Target.<init>():void 245 .............................. end block 2 .............................. 246 ............................. begin block 3 ............................. 247 8| move-object v0, v1 248 .line 59 249 .local v0, "obj", Target 250 9| move-object v1, v0 251 10| new-instance v2, Derived 252 .............................. end block 3 .............................. 253 ............................. begin block 4 ............................. 254 12| move-object v4, v2 255 13| move-object v2, v4 256 14| move-object v3, v4 257 15| invoke-direct {v3}, Derived.<init>():void 258 .............................. end block 4 .............................. 259 ............................. begin block 5 ............................. 260 18| iput-object v2, v1, Target.test 261 .............................. end block 5 .............................. 262 ............................. begin block 6 ............................. 263 .line 60 264 20| move-object v1, v0 265 21| const/4 v2, #+3 (0x00000003 | 4.20390e-45) 266 22| const-string v3, "Testing..." 267 .............................. end block 6 .............................. 268 ............................. begin block 7 ............................. 269 24| invoke-virtual {v1,v2,v3}, Target.foo(int, java.lang.String):int 270 .............................. end block 7 .............................. 271 ............................. begin block 8 ............................. 272 27| move-result v1 273 28| move v0, v1 274 .end_local v0 275 29| return v0 276 .............................. end block 8 .............................. 277 } 278 279 method Target.foo(int):int 280 { 281 ............................. begin block 1 ............................. 282 .params "?" 283 .src "entryHooks.java" 284 .line 74 285 .prologue_end 286 .line 74 287 0| move-object v0, v3 288 .local v0, "this", Target 289 1| move v1, v4 290 .local v1, "x", int 291 2| const/4 v2, #+1 (0x00000001 | 1.40130e-45) 292 3| move v0, v2 293 .end_local v0 294 4| return v0 295 .............................. end block 1 .............................. 296 } 297 298 method Target.foo(int, int):int 299 { 300 ............................. begin block 1 ............................. 301 .params "?", "?" 302 .src "entryHooks.java" 303 .line 75 304 .prologue_end 305 .line 75 306 0| move-object v0, v4 307 .local v0, "this", Target 308 1| move v1, v5 309 .local v1, "x", int 310 2| move v2, v6 311 .local v2, "y", int 312 3| const/4 v3, #+2 (0x00000002 | 2.80260e-45) 313 4| move v0, v3 314 .end_local v0 315 5| return v0 316 .............................. end block 1 .............................. 317 } 318 319 method Target.foo(int, java.lang.String):int 320 { 321 ............................. begin block 1 ............................. 322 .params "?", "?" 323 .src "entryHooks.java" 324 .line 65 325 .prologue_end 326 .line 65 327 0| move-object v0, v9 328 .local v0, "this", Target 329 1| move v1, v10 330 .local v1, "x", int 331 2| move-object v2, v11 332 .local v2, "msg", java.lang.String 333 3| const/4 v5, #+0 (0x00000000 | 0.00000) 334 4| move v3, v5 335 .line 66 336 .local v3, "sum", int 337 5| const/4 v5, #+0 (0x00000000 | 0.00000) 338 6| move v4, v5 339 .............................. end block 1 .............................. 340 ............................. begin block 2 ............................. 341 Label_1: 342 .local v4, "i", int 343 7| move v5, v4 344 8| move v6, v1 345 9| if-ge v5, v6, Label_2 346 .............................. end block 2 .............................. 347 ............................. begin block 3 ............................. 348 .line 68 349 11| move v5, v3 350 12| move-object v6, v0 351 13| iget-object v6, v6, Target.test 352 .............................. end block 3 .............................. 353 ............................. begin block 4 ............................. 354 15| move v7, v4 355 16| move-object v8, v2 356 17| invoke-virtual {v6,v7,v8}, Base.foo(int, java.lang.String):int 357 .............................. end block 4 .............................. 358 ............................. begin block 5 ............................. 359 20| move-result v6 360 21| add-int/2addr v5, v6 361 22| move v3, v5 362 .line 66 363 23| add-int/lit8 v4, v4, #+1 (0x00000001 | 1.40130e-45) 364 25| goto Label_1 365 .............................. end block 5 .............................. 366 ............................. begin block 6 ............................. 367 Label_2: 368 .line 70 369 26| move v5, v3 370 27| move v0, v5 371 .end_local v0 372 28| return v0 373 .............................. end block 6 .............................. 374 } 375 376 method Target.foo(int, java.lang.String, java.lang.String):int 377 { 378 ............................. begin block 1 ............................. 379 .params "?", "?", "?" 380 .src "entryHooks.java" 381 .line 76 382 .prologue_end 383 .line 76 384 0| move-object v0, v5 385 .local v0, "this", Target 386 1| move v1, v6 387 .local v1, "x", int 388 2| move-object v2, v7 389 .local v2, "msg", java.lang.String 390 3| move-object v3, v8 391 .local v3, "msg2", java.lang.String 392 4| const/4 v4, #+3 (0x00000003 | 4.20390e-45) 393 5| move v0, v4 394 .end_local v0 395 6| return v0 396 .............................. end block 1 .............................. 397 } 398 399 method Target.foo(int, java.lang.String[]):int 400 { 401 ............................. begin block 1 ............................. 402 .params "?", "?" 403 .src "entryHooks.java" 404 .line 77 405 .prologue_end 406 .line 77 407 0| move-object v0, v4 408 .local v0, "this", Target 409 1| move v1, v5 410 .local v1, "x", int 411 2| move-object v2, v6 412 .local v2, "msgs", java.lang.String[] 413 3| const/4 v3, #+4 (0x00000004 | 5.60519e-45) 414 4| move v0, v3 415 .end_local v0 416 5| return v0 417 .............................. end block 1 .............................. 418 } 419 420 method Target.foo(int, java.lang.String[][]):java.lang.Integer 421 { 422 ............................. begin block 1 ............................. 423 .params "?", "?" 424 .src "entryHooks.java" 425 .line 78 426 .prologue_end 427 .line 78 428 0| move-object v0, v4 429 .local v0, "this", Target 430 1| move v1, v5 431 .local v1, "x", int 432 2| move-object v2, v6 433 .local v2, "msgs", java.lang.String[][] 434 3| const/4 v3, #+5 (0x00000005 | 7.00649e-45) 435 4| invoke-static {v3}, java.lang.Integer.valueOf(int):java.lang.Integer 436 .............................. end block 1 .............................. 437 ............................. begin block 2 ............................. 438 7| move-result-object v3 439 8| move-object v0, v3 440 .end_local v0 441 9| return-object v0 442 .............................. end block 2 .............................. 443 } 444 445 method Target.foo():void 446 { 447 ............................. begin block 1 ............................. 448 .src "entryHooks.java" 449 .line 73 450 .prologue_end 451 .line 73 452 0| return-void 453 .............................. end block 1 .............................. 454 } 455 456 method Tracer.<init>():void 457 { 458 ............................. begin block 1 ............................. 459 .src "entryHooks.java" 460 .line 2 461 .prologue_end 462 .line 2 463 0| move-object v0, v2 464 .local v0, "this", Tracer 465 1| move-object v1, v0 466 2| invoke-direct {v1}, java.lang.Object.<init>():void 467 .............................. end block 1 .............................. 468 ............................. begin block 2 ............................. 469 5| return-void 470 .............................. end block 2 .............................. 471 } 472 473 method Tracer.onEntry(java.lang.String):void 474 { 475 ............................. begin block 1 ............................. 476 .params "?" 477 .src "entryHooks.java" 478 .line 6 479 .prologue_end 480 .line 6 481 0| move-object v0, v5 482 .local v0, "methodName", java.lang.String 483 1| sget-object v1, java.lang.System.out 484 .............................. end block 1 .............................. 485 ............................. begin block 2 ............................. 486 3| new-instance v2, java.lang.StringBuilder 487 .............................. end block 2 .............................. 488 ............................. begin block 3 ............................. 489 5| move-object v4, v2 490 6| move-object v2, v4 491 7| move-object v3, v4 492 8| invoke-direct {v3}, java.lang.StringBuilder.<init>():void 493 .............................. end block 3 .............................. 494 ............................. begin block 4 ............................. 495 11| const-string v3, "OnEntry(" 496 .............................. end block 4 .............................. 497 ............................. begin block 5 ............................. 498 13| invoke-virtual {v2,v3}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder 499 .............................. end block 5 .............................. 500 ............................. begin block 6 ............................. 501 16| move-result-object v2 502 17| move-object v3, v0 503 18| invoke-virtual {v2,v3}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder 504 .............................. end block 6 .............................. 505 ............................. begin block 7 ............................. 506 21| move-result-object v2 507 22| const-string v3, ")" 508 .............................. end block 7 .............................. 509 ............................. begin block 8 ............................. 510 24| invoke-virtual {v2,v3}, java.lang.StringBuilder.append(java.lang.String):java.lang.StringBuilder 511 .............................. end block 8 .............................. 512 ............................. begin block 9 ............................. 513 27| move-result-object v2 514 28| invoke-virtual {v2}, java.lang.StringBuilder.toString():java.lang.String 515 .............................. end block 9 .............................. 516 ............................. begin block 10 ............................. 517 31| move-result-object v2 518 32| invoke-virtual {v1,v2}, java.io.PrintStream.println(java.lang.String):void 519 .............................. end block 10 .............................. 520 ............................. begin block 11 ............................. 521 .line 7 522 35| return-void 523 .............................. end block 11 .............................. 524 } 525 526 method Tracer.onFooEntry(Target, int, java.lang.String):void 527 { 528 ............................. begin block 1 ............................. 529 .params "?", "?", "?" 530 .src "entryHooks.java" 531 .line 11 532 .prologue_end 533 .line 11 534 0| move-object v0, v10 535 .local v0, "__this", Target 536 1| move v1, v11 537 .local v1, "x", int 538 2| move-object v2, v12 539 .local v2, "msg", java.lang.String 540 3| sget-object v3, java.lang.System.out 541 .............................. end block 1 .............................. 542 ............................. begin block 2 ............................. 543 5| const-string v4, ">>> onFooEntry(%s, %d, %s)\n" 544 .............................. end block 2 .............................. 545 ............................. begin block 3 ............................. 546 7| const/4 v5, #+3 (0x00000003 | 4.20390e-45) 547 8| new-array v5, v5, java.lang.Object[] 548 .............................. end block 3 .............................. 549 ............................. begin block 4 ............................. 550 10| move-object v9, v5 551 11| move-object v5, v9 552 12| move-object v6, v9 553 13| const/4 v7, #+0 (0x00000000 | 0.00000) 554 14| move-object v8, v0 555 15| aput-object v8, v6, v7 556 .............................. end block 4 .............................. 557 ............................. begin block 5 ............................. 558 17| move-object v9, v5 559 18| move-object v5, v9 560 19| move-object v6, v9 561 20| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 562 21| move v8, v1 563 22| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer 564 .............................. end block 5 .............................. 565 ............................. begin block 6 ............................. 566 25| move-result-object v8 567 26| aput-object v8, v6, v7 568 .............................. end block 6 .............................. 569 ............................. begin block 7 ............................. 570 28| move-object v9, v5 571 29| move-object v5, v9 572 30| move-object v6, v9 573 31| const/4 v7, #+2 (0x00000002 | 2.80260e-45) 574 32| move-object v8, v2 575 33| aput-object v8, v6, v7 576 .............................. end block 7 .............................. 577 ............................. begin block 8 ............................. 578 35| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 579 .............................. end block 8 .............................. 580 ............................. begin block 9 ............................. 581 38| move-result-object v3 582 .line 12 583 39| return-void 584 .............................. end block 9 .............................. 585 } 586 587 method Tracer.onFooExit(int):int 588 { 589 ............................. begin block 1 ............................. 590 .params "?" 591 .src "entryHooks.java" 592 .line 16 593 .prologue_end 594 .line 16 595 0| move v0, v8 596 .local v0, "retValue", int 597 1| sget-object v1, java.lang.System.out 598 .............................. end block 1 .............................. 599 ............................. begin block 2 ............................. 600 3| const-string v2, ">>> onFooExit(%d)\n" 601 .............................. end block 2 .............................. 602 ............................. begin block 3 ............................. 603 5| const/4 v3, #+1 (0x00000001 | 1.40130e-45) 604 6| new-array v3, v3, java.lang.Object[] 605 .............................. end block 3 .............................. 606 ............................. begin block 4 ............................. 607 8| move-object v7, v3 608 9| move-object v3, v7 609 10| move-object v4, v7 610 11| const/4 v5, #+0 (0x00000000 | 0.00000) 611 12| move v6, v0 612 13| invoke-static {v6}, java.lang.Integer.valueOf(int):java.lang.Integer 613 .............................. end block 4 .............................. 614 ............................. begin block 5 ............................. 615 16| move-result-object v6 616 17| aput-object v6, v4, v5 617 .............................. end block 5 .............................. 618 ............................. begin block 6 ............................. 619 19| invoke-virtual {v1,v2,v3}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 620 .............................. end block 6 .............................. 621 ............................. begin block 7 ............................. 622 22| move-result-object v1 623 .line 17 624 23| move v1, v0 625 24| const/16 v2, #+100 (0x00000064 | 1.40130e-43) 626 26| add-int/lit8 v1, v1, #+100 (0x00000064 | 1.40130e-43) 627 28| move v0, v1 628 .end_local v0 629 29| return v0 630 .............................. end block 7 .............................. 631 } 632 633 method Tracer.wrapFoo(Base, int, java.lang.String):int 634 { 635 ............................. begin block 1 ............................. 636 .params "?", "?", "?" 637 .src "entryHooks.java" 638 .line 22 639 .prologue_end 640 .line 22 641 0| move-object v0, v10 642 .local v0, "_this", Base 643 1| move v1, v11 644 .local v1, "x", int 645 2| move-object v2, v12 646 .local v2, "msg", java.lang.String 647 3| sget-object v3, java.lang.System.out 648 .............................. end block 1 .............................. 649 ............................. begin block 2 ............................. 650 5| const-string v4, ">>> %s.test(%d, %s)\n" 651 .............................. end block 2 .............................. 652 ............................. begin block 3 ............................. 653 7| const/4 v5, #+3 (0x00000003 | 4.20390e-45) 654 8| new-array v5, v5, java.lang.Object[] 655 .............................. end block 3 .............................. 656 ............................. begin block 4 ............................. 657 10| move-object v9, v5 658 11| move-object v5, v9 659 12| move-object v6, v9 660 13| const/4 v7, #+0 (0x00000000 | 0.00000) 661 14| move-object v8, v0 662 15| invoke-virtual {v8}, java.lang.Object.getClass():java.lang.Class 663 .............................. end block 4 .............................. 664 ............................. begin block 5 ............................. 665 18| move-result-object v8 666 19| invoke-virtual {v8}, java.lang.Class.getName():java.lang.String 667 .............................. end block 5 .............................. 668 ............................. begin block 6 ............................. 669 22| move-result-object v8 670 23| aput-object v8, v6, v7 671 .............................. end block 6 .............................. 672 ............................. begin block 7 ............................. 673 25| move-object v9, v5 674 26| move-object v5, v9 675 27| move-object v6, v9 676 28| const/4 v7, #+1 (0x00000001 | 1.40130e-45) 677 29| move v8, v1 678 30| invoke-static {v8}, java.lang.Integer.valueOf(int):java.lang.Integer 679 .............................. end block 7 .............................. 680 ............................. begin block 8 ............................. 681 33| move-result-object v8 682 34| aput-object v8, v6, v7 683 .............................. end block 8 .............................. 684 ............................. begin block 9 ............................. 685 36| move-object v9, v5 686 37| move-object v5, v9 687 38| move-object v6, v9 688 39| const/4 v7, #+2 (0x00000002 | 2.80260e-45) 689 40| move-object v8, v2 690 41| aput-object v8, v6, v7 691 .............................. end block 9 .............................. 692 ............................. begin block 10 ............................. 693 43| invoke-virtual {v3,v4,v5}, java.io.PrintStream.printf(java.lang.String, java.lang.Object[]):java.io.PrintStream 694 .............................. end block 10 .............................. 695 ............................. begin block 11 ............................. 696 46| move-result-object v3 697 .line 23 698 47| move-object v3, v0 699 48| move v4, v1 700 49| move-object v5, v2 701 50| invoke-virtual {v3,v4,v5}, Base.foo(int, java.lang.String):int 702 .............................. end block 11 .............................. 703 ............................. begin block 12 ............................. 704 53| move-result v3 705 54| const/16 v4, #+10 (0x0000000a | 1.40130e-44) 706 56| add-int/lit8 v3, v3, #+10 (0x0000000a | 1.40130e-44) 707 58| move v0, v3 708 .end_local v0 709 59| return v0 710 .............................. end block 12 .............................. 711 } 712