mirror of
https://github.com/intel/llvm.git
synced 2026-01-18 07:57:36 +08:00
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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user