LLDB mainline
|
#include <UnwindPlan.h>
Classes | |
class | Row |
Definition at line 53 of file UnwindPlan.h.
|
inline |
Definition at line 431 of file UnwindPlan.h.
References lldb_private::eLazyBoolCalculate, LLDB_INVALID_REGNUM, m_plan_is_for_signal_trap, m_plan_is_sourced_from_compiler, m_plan_is_valid_at_all_instruction_locations, m_register_kind, and m_return_addr_register.
Referenced by lldb_private::UnwindPlan::Row::AbstractRegisterLocation::Dump(), lldb_private::UnwindPlan::Row::Dump(), lldb_private::UnwindPlan::Row::FAValue::Dump(), operator=(), operator=(), UnwindPlan(), and UnwindPlan().
|
default |
References UnwindPlan().
|
default |
References UnwindPlan().
|
default |
void UnwindPlan::AppendRow | ( | Row | row | ) |
Definition at line 395 of file UnwindPlan.cpp.
References lldb_private::UnwindPlan::Row::GetOffset(), and m_row_list.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), EmulateInstructionARM64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionARM::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionPPC64::CreateFunctionEntryUnwind(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_arm64(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_armv7(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_i386(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_x86_64(), lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), and lldb_private::ArmUnwindInfo::GetUnwindPlan().
|
inline |
Definition at line 531 of file UnwindPlan.h.
References lldb_private::eLazyBoolCalculate, lldb::eRegisterKindDWARF, m_plan_is_for_signal_trap, m_plan_is_sourced_from_compiler, m_plan_is_valid_at_all_instruction_locations, m_plan_valid_ranges, m_register_kind, m_row_list, and m_source_name.
Referenced by EmulateInstructionARM64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS::CreateFunctionEntryUnwind(), lldb_private::EmulateInstruction::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionARM::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionPPC64::CreateFunctionEntryUnwind(), and lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly().
void UnwindPlan::Dump | ( | Stream & | s, |
Thread * | thread, | ||
lldb::addr_t | base_addr ) const |
Definition at line 511 of file UnwindPlan.cpp.
References lldb_private::Address::DumpStyleSectionNameOffset, lldb_private::eLazyBoolCalculate, lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb_private::Stream::EOL(), lldb_private::Stream::Format(), m_plan_is_for_signal_trap, m_plan_is_sourced_from_compiler, m_plan_is_valid_at_all_instruction_locations, m_plan_valid_ranges, m_row_list, m_source_name, lldb_private::Stream::Printf(), and lldb_private::Stream::PutCString().
Referenced by UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly().
|
inline |
Definition at line 470 of file UnwindPlan.h.
References LLDB_INVALID_REGNUM, and m_row_list.
Referenced by UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly().
const UnwindPlan::Row * UnwindPlan::GetLastRow | ( | ) | const |
Definition at line 447 of file UnwindPlan.cpp.
References lldb_private::GetLog(), LLDB_LOG, m_row_list, and lldb_private::Unwind.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), UnwindAssembly_x86::AugmentUnwindPlanFromCallSite(), and UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly().
const RegisterInfo * UnwindPlan::GetRegisterInfo | ( | Thread * | thread, |
uint32_t | reg_num ) const |
Definition at line 572 of file UnwindPlan.cpp.
References lldb_private::RegisterContext::ConvertRegisterKindToRegisterNumber(), lldb::eRegisterKindLLDB, lldb_private::RegisterContext::GetRegisterInfoAtIndex(), LLDB_INVALID_REGNUM, and m_register_kind.
Referenced by lldb_private::UnwindPlan::Row::AbstractRegisterLocation::Dump(), and DumpRegisterName().
|
inline |
Definition at line 460 of file UnwindPlan.h.
References m_register_kind.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), UnwindAssembly_x86::AugmentUnwindPlanFromCallSite(), and UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly().
|
inline |
Definition at line 468 of file UnwindPlan.h.
References m_return_addr_register.
const UnwindPlan::Row * UnwindPlan::GetRowAtIndex | ( | uint32_t | idx | ) | const |
Definition at line 437 of file UnwindPlan.cpp.
References lldb_private::GetLog(), LLDB_LOG, m_row_list, and lldb_private::Unwind.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), and PlanValidAtAddress().
|
inline |
Definition at line 529 of file UnwindPlan.h.
References m_row_list.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly(), and PlanValidAtAddress().
const UnwindPlan::Row * UnwindPlan::GetRowForFunctionOffset | ( | std::optional< int64_t > | offset | ) | const |
Definition at line 423 of file UnwindPlan.cpp.
References m_row_list.
Referenced by UnwindAssembly_x86::AugmentUnwindPlanFromCallSite().
|
inline |
Definition at line 496 of file UnwindPlan.h.
References m_plan_is_sourced_from_compiler.
ConstString UnwindPlan::GetSourceName | ( | ) | const |
Definition at line 570 of file UnwindPlan.cpp.
References m_source_name.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite().
|
inline |
Definition at line 521 of file UnwindPlan.h.
References m_plan_is_for_signal_trap.
|
inline |
Definition at line 507 of file UnwindPlan.h.
References m_plan_is_valid_at_all_instruction_locations.
Definition at line 411 of file UnwindPlan.cpp.
References lldb_private::UnwindPlan::Row::GetOffset(), and m_row_list.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), and UnwindAssemblyInstEmulation::GetNonCallSiteUnwindPlanFromAssembly().
bool UnwindPlan::IsValidRowIndex | ( | uint32_t | idx | ) | const |
Definition at line 433 of file UnwindPlan.cpp.
References m_row_list.
|
default |
References UnwindPlan().
|
default |
References UnwindPlan().
Definition at line 456 of file UnwindPlan.cpp.
References lldb_private::AddressRange::ContainsFileAddress(), lldb_private::Address::Dump(), lldb_private::Address::DumpStyleSectionNameOffset, lldb_private::UnwindPlan::Row::GetCFAValue(), lldb_private::StreamString::GetData(), lldb_private::GetLog(), GetRowAtIndex(), GetRowCount(), lldb_private::UnwindPlan::Row::FAValue::GetValueType(), lldb_private::Address::IsValid(), LLDB_LOGF, m_plan_valid_ranges, m_source_name, lldb_private::UnwindPlan::Row::FAValue::unspecified, and lldb_private::Unwind.
|
inline |
Definition at line 479 of file UnwindPlan.h.
References m_plan_valid_ranges.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), and lldb_private::CompactUnwindInfo::GetUnwindPlan().
|
inline |
Definition at line 462 of file UnwindPlan.h.
References m_register_kind.
Referenced by EmulateInstructionARM64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionARM::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionPPC64::CreateFunctionEntryUnwind(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_arm64(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_armv7(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_i386(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_x86_64(), lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), and lldb_private::ArmUnwindInfo::GetUnwindPlan().
|
inline |
Definition at line 464 of file UnwindPlan.h.
References m_return_addr_register.
Referenced by EmulateInstructionARM64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionARM::CreateFunctionEntryUnwind(), and lldb_private::EmulateInstructionPPC64::CreateFunctionEntryUnwind().
|
inline |
Definition at line 501 of file UnwindPlan.h.
References m_plan_is_sourced_from_compiler.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), EmulateInstructionARM64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionARM::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionPPC64::CreateFunctionEntryUnwind(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_arm64(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_armv7(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_i386(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_x86_64(), lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), and lldb_private::ArmUnwindInfo::GetUnwindPlan().
void UnwindPlan::SetSourceName | ( | const char * | source | ) |
Definition at line 566 of file UnwindPlan.cpp.
References m_source_name.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), EmulateInstructionARM64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionARM::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionPPC64::CreateFunctionEntryUnwind(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_arm64(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_armv7(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_i386(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_x86_64(), lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), and lldb_private::ArmUnwindInfo::GetUnwindPlan().
|
inline |
Definition at line 525 of file UnwindPlan.h.
References m_plan_is_for_signal_trap.
Referenced by EmulateInstructionARM64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionARM::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionPPC64::CreateFunctionEntryUnwind(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_arm64(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_armv7(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_i386(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_x86_64(), lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), and lldb_private::ArmUnwindInfo::GetUnwindPlan().
|
inline |
Definition at line 513 of file UnwindPlan.h.
References m_plan_is_valid_at_all_instruction_locations.
Referenced by lldb_private::x86AssemblyInspectionEngine::AugmentUnwindPlanFromCallSite(), EmulateInstructionARM64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS64::CreateFunctionEntryUnwind(), EmulateInstructionMIPS::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionARM::CreateFunctionEntryUnwind(), lldb_private::EmulateInstructionPPC64::CreateFunctionEntryUnwind(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_arm64(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_armv7(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_i386(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_x86_64(), lldb_private::x86AssemblyInspectionEngine::GetNonCallSiteUnwindPlanFromAssembly(), and lldb_private::ArmUnwindInfo::GetUnwindPlan().
|
private |
Definition at line 556 of file UnwindPlan.h.
Referenced by Clear(), Dump(), GetUnwindPlanForSignalTrap(), SetUnwindPlanForSignalTrap(), and UnwindPlan().
|
private |
Definition at line 554 of file UnwindPlan.h.
Referenced by Clear(), Dump(), GetSourcedFromCompiler(), SetSourcedFromCompiler(), and UnwindPlan().
|
private |
Definition at line 555 of file UnwindPlan.h.
Referenced by Clear(), Dump(), GetUnwindPlanValidAtAllInstructions(), SetUnwindPlanValidAtAllInstructions(), and UnwindPlan().
|
private |
Definition at line 545 of file UnwindPlan.h.
Referenced by Clear(), Dump(), PlanValidAtAddress(), and SetPlanValidAddressRanges().
|
private |
Definition at line 546 of file UnwindPlan.h.
Referenced by Clear(), GetRegisterInfo(), GetRegisterKind(), SetRegisterKind(), and UnwindPlan().
|
private |
Definition at line 549 of file UnwindPlan.h.
Referenced by GetReturnAddressRegister(), SetReturnAddressRegister(), and UnwindPlan().
|
private |
Definition at line 544 of file UnwindPlan.h.
Referenced by AppendRow(), Clear(), Dump(), GetInitialCFARegister(), GetLastRow(), GetRowAtIndex(), GetRowCount(), GetRowForFunctionOffset(), InsertRow(), and IsValidRowIndex().
|
private |
Definition at line 553 of file UnwindPlan.h.
Referenced by Clear(), Dump(), GetSourceName(), PlanValidAtAddress(), and SetSourceName().