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
This commit is contained in:
parent
79101b5cb0
commit
cd4ae1ab94
|
@ -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:
|
||||
|
||||
|
|
|
@ -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() :
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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];
|
||||
|
||||
|
|
Loading…
Reference in New Issue