Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
source/Target/ThreadPlanTracer.cpp
Show First 20 Lines • Show All 87 Lines • ▼ Show 20 Lines | Disassembler *ThreadPlanAssemblyTracer::GetDisassembler() { | ||||
if (!m_disassembler_sp) | if (!m_disassembler_sp) | ||||
m_disassembler_sp = Disassembler::FindPlugin( | m_disassembler_sp = Disassembler::FindPlugin( | ||||
m_thread.GetProcess()->GetTarget().GetArchitecture(), nullptr, nullptr); | m_thread.GetProcess()->GetTarget().GetArchitecture(), nullptr, nullptr); | ||||
return m_disassembler_sp.get(); | return m_disassembler_sp.get(); | ||||
} | } | ||||
TypeFromUser ThreadPlanAssemblyTracer::GetIntPointerType() { | TypeFromUser ThreadPlanAssemblyTracer::GetIntPointerType() { | ||||
if (!m_intptr_type.IsValid()) { | if (!m_intptr_type.IsValid()) { | ||||
TargetSP target_sp(m_thread.CalculateTarget()); | if (auto target_sp = m_thread.CalculateTarget()) { | ||||
if (target_sp) { | auto type_system_or_err = | ||||
TypeSystem *type_system = | target_sp->GetScratchTypeSystemForLanguage(eLanguageTypeC); | ||||
target_sp->GetScratchTypeSystemForLanguage(nullptr, eLanguageTypeC); | if (auto err = type_system_or_err.takeError()) { | ||||
if (type_system) | LLDB_LOG_ERROR( | ||||
m_intptr_type = | lldb_private::GetLogIfAnyCategoriesSet(LIBLLDB_LOG_TYPES), | ||||
TypeFromUser(type_system->GetBuiltinTypeForEncodingAndBitSize( | std::move(err), | ||||
"Unable to get integer pointer type from TypeSystem"); | |||||
} else { | |||||
m_intptr_type = TypeFromUser( | |||||
type_system_or_err->GetBuiltinTypeForEncodingAndBitSize( | |||||
eEncodingUint, | eEncodingUint, | ||||
target_sp->GetArchitecture().GetAddressByteSize() * 8)); | target_sp->GetArchitecture().GetAddressByteSize() * 8)); | ||||
} | } | ||||
} | } | ||||
} | |||||
return m_intptr_type; | return m_intptr_type; | ||||
} | } | ||||
ThreadPlanAssemblyTracer::~ThreadPlanAssemblyTracer() = default; | ThreadPlanAssemblyTracer::~ThreadPlanAssemblyTracer() = default; | ||||
void ThreadPlanAssemblyTracer::TracingStarted() { | void ThreadPlanAssemblyTracer::TracingStarted() { | ||||
RegisterContext *reg_ctx = m_thread.GetRegisterContext().get(); | RegisterContext *reg_ctx = m_thread.GetRegisterContext().get(); | ||||
▲ Show 20 Lines • Show All 111 Lines • Show Last 20 Lines |