diff options
Diffstat (limited to 'lldb/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.h')
-rw-r--r-- | lldb/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.h | 134 |
1 files changed, 59 insertions, 75 deletions
diff --git a/lldb/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.h b/lldb/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.h index fcec0744341..9b07ca64e32 100644 --- a/lldb/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.h +++ b/lldb/source/Plugins/InstrumentationRuntime/ThreadSanitizer/ThreadSanitizerRuntime.h @@ -14,88 +14,72 @@ // C++ Includes // Other libraries and framework includes // Project includes -#include "lldb/lldb-private.h" +#include "lldb/Core/StructuredData.h" #include "lldb/Target/ABI.h" #include "lldb/Target/InstrumentationRuntime.h" -#include "lldb/Core/StructuredData.h" +#include "lldb/lldb-private.h" namespace lldb_private { - -class ThreadSanitizerRuntime : public lldb_private::InstrumentationRuntime -{ + +class ThreadSanitizerRuntime : public lldb_private::InstrumentationRuntime { public: - ~ThreadSanitizerRuntime() override; - - static lldb::InstrumentationRuntimeSP - CreateInstance (const lldb::ProcessSP &process_sp); - - static void - Initialize(); - - static void - Terminate(); - - static lldb_private::ConstString - GetPluginNameStatic(); - - static lldb::InstrumentationRuntimeType - GetTypeStatic(); - - lldb_private::ConstString - GetPluginName() override - { - return GetPluginNameStatic(); - } - - virtual lldb::InstrumentationRuntimeType - GetType() { return GetTypeStatic(); } - - uint32_t - GetPluginVersion() override - { - return 1; - } - - lldb::ThreadCollectionSP - GetBacktracesFromExtendedStopInfo(StructuredData::ObjectSP info) override; - + ~ThreadSanitizerRuntime() override; + + static lldb::InstrumentationRuntimeSP + CreateInstance(const lldb::ProcessSP &process_sp); + + static void Initialize(); + + static void Terminate(); + + static lldb_private::ConstString GetPluginNameStatic(); + + static lldb::InstrumentationRuntimeType GetTypeStatic(); + + lldb_private::ConstString GetPluginName() override { + return GetPluginNameStatic(); + } + + virtual lldb::InstrumentationRuntimeType GetType() { return GetTypeStatic(); } + + uint32_t GetPluginVersion() override { return 1; } + + lldb::ThreadCollectionSP + GetBacktracesFromExtendedStopInfo(StructuredData::ObjectSP info) override; + private: - ThreadSanitizerRuntime(const lldb::ProcessSP &process_sp) : lldb_private::InstrumentationRuntime(process_sp) {} - - const RegularExpression & - GetPatternForRuntimeLibrary() override; - - bool - CheckIfRuntimeIsValid(const lldb::ModuleSP module_sp) override; - - void - Activate() override; - - void - Deactivate(); - - static bool - NotifyBreakpointHit(void *baton, StoppointCallbackContext *context, lldb::user_id_t break_id, lldb::user_id_t break_loc_id); - - StructuredData::ObjectSP - RetrieveReportData(ExecutionContextRef exe_ctx_ref); - - std::string - FormatDescription(StructuredData::ObjectSP report); - - std::string - GenerateSummary(StructuredData::ObjectSP report); - - lldb::addr_t - GetMainRacyAddress(StructuredData::ObjectSP report); - - std::string - GetLocationDescription(StructuredData::ObjectSP report, lldb::addr_t &global_addr, std::string &global_name, std::string &filename, uint32_t &line); - - lldb::addr_t - GetFirstNonInternalFramePc(StructuredData::ObjectSP trace); + ThreadSanitizerRuntime(const lldb::ProcessSP &process_sp) + : lldb_private::InstrumentationRuntime(process_sp) {} + + const RegularExpression &GetPatternForRuntimeLibrary() override; + + bool CheckIfRuntimeIsValid(const lldb::ModuleSP module_sp) override; + + void Activate() override; + + void Deactivate(); + + static bool NotifyBreakpointHit(void *baton, + StoppointCallbackContext *context, + lldb::user_id_t break_id, + lldb::user_id_t break_loc_id); + + StructuredData::ObjectSP RetrieveReportData(ExecutionContextRef exe_ctx_ref); + + std::string FormatDescription(StructuredData::ObjectSP report); + + std::string GenerateSummary(StructuredData::ObjectSP report); + + lldb::addr_t GetMainRacyAddress(StructuredData::ObjectSP report); + + std::string GetLocationDescription(StructuredData::ObjectSP report, + lldb::addr_t &global_addr, + std::string &global_name, + std::string &filename, uint32_t &line); + + lldb::addr_t GetFirstNonInternalFramePc(StructuredData::ObjectSP trace); }; - + } // namespace lldb_private #endif // liblldb_ThreadSanitizerRuntime_h_ |