diff options
author | Raphael Isemann <teemperor@gmail.com> | 2018-08-20 15:51:14 +0000 |
---|---|---|
committer | Raphael Isemann <teemperor@gmail.com> | 2018-08-20 15:51:14 +0000 |
commit | 5b06c228af302848b68b3085b11c8eb9ea0de7c4 (patch) | |
tree | 1d35505a08c18a406950814d459d16a32f9af1cb | |
parent | 7515e75bc294e01665fcd8502b51533e9dea86c4 (diff) | |
download | bcm5719-llvm-5b06c228af302848b68b3085b11c8eb9ea0de7c4.tar.gz bcm5719-llvm-5b06c228af302848b68b3085b11c8eb9ea0de7c4.zip |
Remove manual byte counting from Opcode::Dump
Summary:
Stream now has byte-counting functionality, so let's use this instead of manual byte
counting.
Reviewers: clayborg, davide
Reviewed By: davide
Subscribers: davide, lldb-commits
Differential Revision: https://reviews.llvm.org/D50677
llvm-svn: 340179
-rw-r--r-- | lldb/source/Core/Opcode.cpp | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/lldb/source/Core/Opcode.cpp b/lldb/source/Core/Opcode.cpp index d15fdb3b17b..e8b8bb96786 100644 --- a/lldb/source/Core/Opcode.cpp +++ b/lldb/source/Core/Opcode.cpp @@ -23,40 +23,41 @@ using namespace lldb; using namespace lldb_private; int Opcode::Dump(Stream *s, uint32_t min_byte_width) { - int bytes_written = 0; + const uint32_t previous_bytes = s->GetWrittenBytes(); switch (m_type) { case Opcode::eTypeInvalid: - bytes_written = s->PutCString("<invalid>"); + s->PutCString("<invalid>"); break; case Opcode::eType8: - bytes_written = s->Printf("0x%2.2x", m_data.inst8); + s->Printf("0x%2.2x", m_data.inst8); break; case Opcode::eType16: - bytes_written = s->Printf("0x%4.4x", m_data.inst16); + s->Printf("0x%4.4x", m_data.inst16); break; case Opcode::eType16_2: case Opcode::eType32: - bytes_written = s->Printf("0x%8.8x", m_data.inst32); + s->Printf("0x%8.8x", m_data.inst32); break; case Opcode::eType64: - bytes_written = s->Printf("0x%16.16" PRIx64, m_data.inst64); + s->Printf("0x%16.16" PRIx64, m_data.inst64); break; case Opcode::eTypeBytes: for (uint32_t i = 0; i < m_data.inst.length; ++i) { if (i > 0) - bytes_written += s->PutChar(' '); - bytes_written += s->Printf("%2.2x", m_data.inst.bytes[i]); + s->PutChar(' '); + s->Printf("%2.2x", m_data.inst.bytes[i]); } break; } - // Add spaces to make sure bytes dispay comes out even in case opcodes aren't - // all the same size - if (static_cast<uint32_t>(bytes_written) < min_byte_width) - bytes_written = s->Printf("%*s", min_byte_width - bytes_written, ""); - return bytes_written; + uint32_t bytes_written_so_far = s->GetWrittenBytes() - previous_bytes; + // Add spaces to make sure bytes display comes out even in case opcodes aren't + // all the same size. + if (bytes_written_so_far < min_byte_width) + s->Printf("%*s", min_byte_width - bytes_written_so_far, ""); + return s->GetWrittenBytes() - previous_bytes; } lldb::ByteOrder Opcode::GetDataByteOrder() const { |