Include move-result into the same trace as the invoke.

In preparation for method inlining implementation. Example trace:

D/dalvikvm(  708): Compiler: Building trace for fibonacci, offset 0x10
D/dalvikvm(  708): 0x426b6fa8: 0x0016 const-wide/16 v0, (#2), (#0)
D/dalvikvm(  708): 0x426b6fac: 0x009c sub-long v0, v7, v0
D/dalvikvm(  708): 0x426b6fb0: 0x0070 invoke-direct v6, v0, v1
D/dalvikvm(  708): 0x426b6fb6: 0x000b move-result-wide v0, (#0), (#0)
D/dalvikvm(  708): TRACEINFO (3): 0x426b6f88 Lcom/android/unit_tests/PerformanceTests$FibonacciSlow;fibonacci 0x10 8 of 32, 7 blocks
D/dalvikvm(  708): 7 blocks in total
D/dalvikvm(  708): Block 0 (insn 0010 - 0010 empty)
D/dalvikvm(  708):   Fallthrough : block 1 (0010)
D/dalvikvm(  708): Block 1 (insn 0010 - 0014)
D/dalvikvm(  708):   Taken branch: block 3 (0000)
D/dalvikvm(  708):   Fallthrough : block 2 (0017)
D/dalvikvm(  708): Block 2 (insn 0017 - 0017)
D/dalvikvm(  708):   Fallthrough : block 4 (0018)
D/dalvikvm(  708): Block 3 (insn 0000 - 0000 empty)
D/dalvikvm(  708): Block 4 (insn 0018 - 0018 empty)
D/dalvikvm(  708): Block 5 (insn 0000 - 0000 empty)
D/dalvikvm(  708): Block 6 (insn 0000 - 0000 empty)

Once implemented the inliner will consume the invoke-direct and
move-result-wide instructions altogether.

Change-Id: I4e0e6283989a468d9edf01cf26f644d2d8d7ec64
2 files changed