diff options
author | Sean Callanan <scallanan@apple.com> | 2012-08-07 01:44:58 +0000 |
---|---|---|
committer | Sean Callanan <scallanan@apple.com> | 2012-08-07 01:44:58 +0000 |
commit | cd4ae1ab94e7cb17c5843faf6950fe17848c7058 (patch) | |
tree | 44db56e02e3714de85980cb257cd6566bbabaf23 | |
parent | 79101b5cb01eda3c3b617314de23b78ea6abb702 (diff) | |
download | bcm5719-llvm-cd4ae1ab94e7cb17c5843faf6950fe17848c7058.tar.gz bcm5719-llvm-cd4ae1ab94e7cb17c5843faf6950fe17848c7058.zip |
Changed the Opcode::GetData() API so that it didn't
require an AddressClass, which is useless at this
point since it already knows the distinction between
32-bit Thumb opcodes and 32-bit ARM opcodes.
llvm-svn: 161382
-rw-r--r-- | lldb/include/lldb/Core/Opcode.h | 3 | ||||
-rw-r--r-- | lldb/source/Core/Disassembler.cpp | 2 | ||||
-rw-r--r-- | lldb/source/Core/Opcode.cpp | 15 | ||||
-rw-r--r-- | lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp | 2 |
4 files changed, 7 insertions, 15 deletions
diff --git a/lldb/include/lldb/Core/Opcode.h b/lldb/include/lldb/Core/Opcode.h index 06f63f76285..c07193b6205 100644 --- a/lldb/include/lldb/Core/Opcode.h +++ b/lldb/include/lldb/Core/Opcode.h @@ -225,8 +225,7 @@ namespace lldb_private { // Get the opcode exactly as it would be laid out in memory. uint32_t - GetData (DataExtractor &data, - lldb::AddressClass address_class) const; + GetData (DataExtractor &data) const; protected: diff --git a/lldb/source/Core/Disassembler.cpp b/lldb/source/Core/Disassembler.cpp index 448ad29dfb0..96828f4a7db 100644 --- a/lldb/source/Core/Disassembler.cpp +++ b/lldb/source/Core/Disassembler.cpp @@ -893,7 +893,7 @@ Instruction::Emulate (const ArchSpec &arch, uint32_t Instruction::GetData (DataExtractor &data) { - return m_opcode.GetData(data, GetAddressClass ()); + return m_opcode.GetData(data); } InstructionList::InstructionList() : diff --git a/lldb/source/Core/Opcode.cpp b/lldb/source/Core/Opcode.cpp index a4a96fdf1cd..3793bdee2ae 100644 --- a/lldb/source/Core/Opcode.cpp +++ b/lldb/source/Core/Opcode.cpp @@ -86,7 +86,7 @@ Opcode::GetDataByteOrder () const } uint32_t -Opcode::GetData (DataExtractor &data, lldb::AddressClass address_class) const +Opcode::GetData (DataExtractor &data) const { uint32_t byte_size = GetByteSize (); @@ -101,12 +101,6 @@ Opcode::GetData (DataExtractor &data, lldb::AddressClass address_class) const case Opcode::eType8: buffer_sp.reset (new DataBufferHeap (&m_data.inst8, byte_size)); break; case Opcode::eType16: buffer_sp.reset (new DataBufferHeap (&m_data.inst16, byte_size)); break; case Opcode::eType16_2: - case Opcode::eType32: - // The only thing that uses eAddressClassCodeAlternateISA currently - // is Thumb. If this ever changes, we will need to pass in more - // information like an additional "const ArchSpec &arch". For now - // this will do - if (m_type == Opcode::eType16_2 || address_class == eAddressClassCodeAlternateISA) { // 32 bit thumb instruction, we need to sizzle this a bit uint8_t buf[4]; @@ -116,10 +110,9 @@ Opcode::GetData (DataExtractor &data, lldb::AddressClass address_class) const buf[3] = m_data.inst.bytes[1]; buffer_sp.reset (new DataBufferHeap (buf, byte_size)); } - else - { - buffer_sp.reset (new DataBufferHeap (&m_data.inst32, byte_size)); - } + break; + case Opcode::eType32: + buffer_sp.reset (new DataBufferHeap (&m_data.inst32, byte_size)); break; case Opcode::eType64: buffer_sp.reset (new DataBufferHeap (&m_data.inst64, byte_size)); break; case Opcode::eTypeBytes:buffer_sp.reset (new DataBufferHeap (GetOpcodeBytes(), byte_size)); break; diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp index 349c16e12d1..cb4f97f1de8 100644 --- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp +++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp @@ -198,7 +198,7 @@ public: DataExtractor data; const AddressClass address_class = GetAddressClass (); - if (m_opcode.GetData(data, address_class)) + if (m_opcode.GetData(data)) { char out_string[512]; |