| LLDB mainline
    | 
#include "lldb/Symbol/CompactUnwindInfo.h"#include "lldb/Core/Debugger.h"#include "lldb/Core/Module.h"#include "lldb/Core/Section.h"#include "lldb/Symbol/ObjectFile.h"#include "lldb/Symbol/UnwindPlan.h"#include "lldb/Target/Process.h"#include "lldb/Target/Target.h"#include "lldb/Utility/ArchSpec.h"#include "lldb/Utility/DataBufferHeap.h"#include "lldb/Utility/LLDBLog.h"#include "lldb/Utility/Log.h"#include "lldb/Utility/StreamString.h"#include "llvm/Support/MathExtras.h"#include <algorithm>#include <memory>Go to the source code of this file.
| Namespaces | |
| namespace | lldb_private | 
| A class that represents a running process on the host machine. | |
| Macros | |
| #define | UNWIND_SECOND_LEVEL_REGULAR 2 | 
| #define | UNWIND_SECOND_LEVEL_COMPRESSED 3 | 
| #define | UNWIND_INFO_COMPRESSED_ENTRY_FUNC_OFFSET(entry) | 
| #define | UNWIND_INFO_COMPRESSED_ENTRY_ENCODING_INDEX(entry) | 
| #define | EXTRACT_BITS(value, mask) | 
| Functions | |
| lldb_private::FLAGS_ANONYMOUS_ENUM () | |
| uint32_t | translate_to_eh_frame_regnum_x86_64 (uint32_t unwind_regno) | 
| uint32_t | translate_to_eh_frame_regnum_i386 (uint32_t unwind_regno) | 
| #define EXTRACT_BITS | ( | value, | |
| mask ) | 
Definition at line 157 of file CompactUnwindInfo.cpp.
Referenced by lldb_private::CompactUnwindInfo::CreateUnwindPlan_arm64(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_armv7(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_i386(), lldb_private::CompactUnwindInfo::CreateUnwindPlan_x86_64(), and lldb_private::CompactUnwindInfo::GetCompactUnwindInfoForFunction().
| #define UNWIND_INFO_COMPRESSED_ENTRY_ENCODING_INDEX | ( | entry | ) | 
Definition at line 153 of file CompactUnwindInfo.cpp.
Referenced by lldb_private::CompactUnwindInfo::BinarySearchCompressedSecondPage().
| #define UNWIND_INFO_COMPRESSED_ENTRY_FUNC_OFFSET | ( | entry | ) | 
Definition at line 149 of file CompactUnwindInfo.cpp.
Referenced by lldb_private::CompactUnwindInfo::BinarySearchCompressedSecondPage().
| #define UNWIND_SECOND_LEVEL_COMPRESSED 3 | 
Definition at line 145 of file CompactUnwindInfo.cpp.
Referenced by lldb_private::CompactUnwindInfo::GetCompactUnwindInfoForFunction().
| #define UNWIND_SECOND_LEVEL_REGULAR 2 | 
Definition at line 141 of file CompactUnwindInfo.cpp.
Referenced by lldb_private::CompactUnwindInfo::GetCompactUnwindInfoForFunction().
| enum arm64_eh_regnum | 
| Enumerator | |
|---|---|
| x19 | |
| x20 | |
| x21 | |
| x22 | |
| x23 | |
| x24 | |
| x25 | |
| x26 | |
| x27 | |
| x28 | |
| fp | |
| ra | |
| sp | |
| pc | |
| v8 | |
| v9 | |
| v10 | |
| v11 | |
| v12 | |
| v13 | |
| v14 | |
| v15 | |
Definition at line 1225 of file CompactUnwindInfo.cpp.
| enum arm_eh_regnum | 
Definition at line 1257 of file CompactUnwindInfo.cpp.
| enum i386_eh_regnum | 
| Enumerator | |
|---|---|
| eax | |
| ecx | |
| edx | |
| ebx | |
| ebp | |
| esp | |
| esi | |
| edi | |
| eip | |
Definition at line 967 of file CompactUnwindInfo.cpp.
| enum x86_64_eh_regnum | 
| Enumerator | |
|---|---|
| rax | |
| rdx | |
| rcx | |
| rbx | |
| rsi | |
| rdi | |
| rbp | |
| rsp | |
| r8 | |
| r9 | |
| r10 | |
| r11 | |
| r12 | |
| r13 | |
| r14 | |
| r15 | |
| rip | |
Definition at line 692 of file CompactUnwindInfo.cpp.
| uint32_t translate_to_eh_frame_regnum_i386 | ( | uint32_t | unwind_regno | ) | 
Definition at line 982 of file CompactUnwindInfo.cpp.
References ebp, ebx, ecx, edi, edx, esi, LLDB_INVALID_REGNUM, lldb_private::UNWIND_X86_REG_EBP, lldb_private::UNWIND_X86_REG_EBX, lldb_private::UNWIND_X86_REG_ECX, lldb_private::UNWIND_X86_REG_EDI, lldb_private::UNWIND_X86_REG_EDX, and lldb_private::UNWIND_X86_REG_ESI.
Referenced by lldb_private::CompactUnwindInfo::CreateUnwindPlan_i386().
| uint32_t translate_to_eh_frame_regnum_x86_64 | ( | uint32_t | unwind_regno | ) | 
Definition at line 715 of file CompactUnwindInfo.cpp.
References LLDB_INVALID_REGNUM, r12, r13, r14, r15, rbp, rbx, lldb_private::UNWIND_X86_64_REG_R12, lldb_private::UNWIND_X86_64_REG_R13, lldb_private::UNWIND_X86_64_REG_R14, lldb_private::UNWIND_X86_64_REG_R15, lldb_private::UNWIND_X86_64_REG_RBP, and lldb_private::UNWIND_X86_64_REG_RBX.
Referenced by lldb_private::CompactUnwindInfo::CreateUnwindPlan_x86_64().