lldb::RegisterContextSP HistoryThread::GetRegisterContext () { RegisterContextSP rctx ; if (m_pcs.size() > 0) { rctx.reset (new RegisterContextHistory (*this, 0, GetProcess()->GetAddressByteSize(), m_pcs[0])); } return rctx; }
lldb::RegisterContextSP HistoryUnwind::DoCreateRegisterContextForFrame (StackFrame *frame) { RegisterContextSP rctx; if (frame) { addr_t pc = frame->GetFrameCodeAddress().GetLoadAddress (&frame->GetThread()->GetProcess()->GetTarget()); if (pc != LLDB_INVALID_ADDRESS) { rctx.reset (new RegisterContextHistory (*frame->GetThread().get(), frame->GetConcreteFrameIndex(), frame->GetThread()->GetProcess()->GetAddressByteSize(), pc)); } } return rctx; }