summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2012-08-07 01:44:58 +0000
committerSean Callanan <scallanan@apple.com>2012-08-07 01:44:58 +0000
commitcd4ae1ab94e7cb17c5843faf6950fe17848c7058 (patch)
tree44db56e02e3714de85980cb257cd6566bbabaf23
parent79101b5cb01eda3c3b617314de23b78ea6abb702 (diff)
downloadbcm5719-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.h3
-rw-r--r--lldb/source/Core/Disassembler.cpp2
-rw-r--r--lldb/source/Core/Opcode.cpp15
-rw-r--r--lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp2
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];
OpenPOWER on IntegriCloud