1 2method 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 19method 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 75method 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 92method 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 150method 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 167method 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 231method 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 279method 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 298method 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 319method 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 ............................. 341Label_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 ............................. 367Label_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 376method 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 399method 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 420method 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 445method 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 456method 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 473method 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 526method 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 587method 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 633method 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