summaryrefslogtreecommitdiffstats
path: root/lldb/include/lldb/Symbol/UnwindTable.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/include/lldb/Symbol/UnwindTable.h')
-rw-r--r--lldb/include/lldb/Symbol/UnwindTable.h82
1 files changed, 40 insertions, 42 deletions
diff --git a/lldb/include/lldb/Symbol/UnwindTable.h b/lldb/include/lldb/Symbol/UnwindTable.h
index cb0080aff88..e730454b04d 100644
--- a/lldb/include/lldb/Symbol/UnwindTable.h
+++ b/lldb/include/lldb/Symbol/UnwindTable.h
@@ -7,14 +7,13 @@
//
//===----------------------------------------------------------------------===//
-
#ifndef liblldb_UnwindTable_h
#define liblldb_UnwindTable_h
#include <map>
#include <mutex>
-#include "lldb/lldb-private.h"
+#include "lldb/lldb-private.h"
namespace lldb_private {
@@ -22,62 +21,61 @@ namespace lldb_private {
// The UnwindTable is populated with FuncUnwinders objects lazily during
// the debug session.
-class UnwindTable
-{
+class UnwindTable {
public:
- UnwindTable(ObjectFile& objfile);
- ~UnwindTable();
+ UnwindTable(ObjectFile &objfile);
+ ~UnwindTable();
- lldb_private::DWARFCallFrameInfo *
- GetEHFrameInfo ();
+ lldb_private::DWARFCallFrameInfo *GetEHFrameInfo();
- lldb_private::CompactUnwindInfo *
- GetCompactUnwindInfo ();
+ lldb_private::CompactUnwindInfo *GetCompactUnwindInfo();
- ArmUnwindInfo *
- GetArmUnwindInfo ();
+ ArmUnwindInfo *GetArmUnwindInfo();
- lldb::FuncUnwindersSP
- GetFuncUnwindersContainingAddress (const Address& addr, SymbolContext &sc);
+ lldb::FuncUnwindersSP GetFuncUnwindersContainingAddress(const Address &addr,
+ SymbolContext &sc);
- bool
- GetAllowAssemblyEmulationUnwindPlans ();
+ bool GetAllowAssemblyEmulationUnwindPlans();
-// Normally when we create a new FuncUnwinders object we track it in this UnwindTable so it can
-// be reused later. But for the target modules show-unwind we want to create brand new
-// UnwindPlans for the function of interest - so ignore any existing FuncUnwinders for that
-// function and don't add this new one to our UnwindTable.
-// This FuncUnwinders object does have a reference to the UnwindTable but the lifetime of this
-// uncached FuncUnwinders is expected to be short so in practice this will not be a problem.
- lldb::FuncUnwindersSP
- GetUncachedFuncUnwindersContainingAddress (const Address& addr, SymbolContext &sc);
+ // Normally when we create a new FuncUnwinders object we track it in this
+ // UnwindTable so it can
+ // be reused later. But for the target modules show-unwind we want to create
+ // brand new
+ // UnwindPlans for the function of interest - so ignore any existing
+ // FuncUnwinders for that
+ // function and don't add this new one to our UnwindTable.
+ // This FuncUnwinders object does have a reference to the UnwindTable but the
+ // lifetime of this
+ // uncached FuncUnwinders is expected to be short so in practice this will not
+ // be a problem.
+ lldb::FuncUnwindersSP
+ GetUncachedFuncUnwindersContainingAddress(const Address &addr,
+ SymbolContext &sc);
- bool
- GetArchitecture (lldb_private::ArchSpec &arch);
+ bool GetArchitecture(lldb_private::ArchSpec &arch);
private:
- void
- Dump (Stream &s);
-
- void Initialize ();
+ void Dump(Stream &s);
+
+ void Initialize();
- typedef std::map<lldb::addr_t, lldb::FuncUnwindersSP> collection;
- typedef collection::iterator iterator;
- typedef collection::const_iterator const_iterator;
+ typedef std::map<lldb::addr_t, lldb::FuncUnwindersSP> collection;
+ typedef collection::iterator iterator;
+ typedef collection::const_iterator const_iterator;
- ObjectFile& m_object_file;
- collection m_unwinds;
+ ObjectFile &m_object_file;
+ collection m_unwinds;
- bool m_initialized; // delay some initialization until ObjectFile is set up
- std::mutex m_mutex;
+ bool m_initialized; // delay some initialization until ObjectFile is set up
+ std::mutex m_mutex;
- std::unique_ptr<DWARFCallFrameInfo> m_eh_frame_up;
- std::unique_ptr<CompactUnwindInfo> m_compact_unwind_up;
- std::unique_ptr<ArmUnwindInfo> m_arm_unwind_up;
+ std::unique_ptr<DWARFCallFrameInfo> m_eh_frame_up;
+ std::unique_ptr<CompactUnwindInfo> m_compact_unwind_up;
+ std::unique_ptr<ArmUnwindInfo> m_arm_unwind_up;
- DISALLOW_COPY_AND_ASSIGN (UnwindTable);
+ DISALLOW_COPY_AND_ASSIGN(UnwindTable);
};
} // namespace lldb_private
-#endif // liblldb_UnwindTable_h
+#endif // liblldb_UnwindTable_h
OpenPOWER on IntegriCloud