diff options
author | Andreas Gampe <agampe@google.com> | 2014-03-31 18:10:53 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2014-03-31 18:10:53 -0700 |
commit | 7aca91db1571594cdb7e0a9ee704530b09c066e4 (patch) | |
tree | de2cf12b3410680e3972902f22c3b156186f2283 | |
parent | cfd5acf281b0c509f86b13d73c6a8dfa3ea9922c (diff) | |
download | art-7aca91db1571594cdb7e0a9ee704530b09c066e4.tar.gz art-7aca91db1571594cdb7e0a9ee704530b09c066e4.tar.bz2 art-7aca91db1571594cdb7e0a9ee704530b09c066e4.zip |
Fix instruction printing for filled-new-array
Only print the registers that are actually used. The rest is
garbage.
Change-Id: Ic9f03a51f81b95f7c70cf3e19122c8980003ae36
-rw-r--r-- | runtime/dex_instruction.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/runtime/dex_instruction.cc b/runtime/dex_instruction.cc index 8fccd6da3..754624538 100644 --- a/runtime/dex_instruction.cc +++ b/runtime/dex_instruction.cc @@ -551,6 +551,20 @@ std::string Instruction::DumpString(const DexFile* file) const { uint32_t arg[5]; GetArgs(arg); switch (Opcode()) { + case FILLED_NEW_ARRAY: + { + const int32_t a = VRegA_35c(); + os << opcode << " {"; + for (int i = 0; i < a; ++i) { + if (i > 0) { + os << ", "; + } + os << "v" << arg[i]; + } + os << "}, type@" << VRegB_35c(); + } + break; + case INVOKE_VIRTUAL: case INVOKE_SUPER: case INVOKE_DIRECT: |