Allow operating system plug-ins to specify the address for registers so we don't have to create data up front.

llvm-svn: 166701
This commit is contained in:
Greg Clayton
2012-10-25 17:56:31 +00:00
parent 823e8bb7be
commit ead45e0174
8 changed files with 54 additions and 32 deletions

View File

@@ -18,8 +18,8 @@ using namespace lldb;
using namespace lldb_private;
ThreadMemory::ThreadMemory (Process &process,
tid_t tid,
const ValueObjectSP &thread_info_valobj_sp) :
tid_t tid,
const ValueObjectSP &thread_info_valobj_sp) :
Thread (process, tid),
m_thread_info_valobj_sp (thread_info_valobj_sp),
m_name(),
@@ -31,11 +31,13 @@ ThreadMemory::ThreadMemory (Process &process,
ThreadMemory::ThreadMemory (Process &process,
lldb::tid_t tid,
const char *name,
const char *queue) :
const char *queue,
lldb::addr_t register_data_addr) :
Thread (process, tid),
m_thread_info_valobj_sp (),
m_name(),
m_queue()
m_queue(),
m_register_data_addr (register_data_addr)
{
if (name)
m_name = name;
@@ -70,7 +72,7 @@ ThreadMemory::GetRegisterContext ()
{
OperatingSystem *os = process_sp->GetOperatingSystem ();
if (os)
m_reg_context_sp = os->CreateRegisterContextForThread (this);
m_reg_context_sp = os->CreateRegisterContextForThread (this, m_register_data_addr);
}
}
return m_reg_context_sp;