| Index: base/debug/activity_analyzer.h
|
| diff --git a/base/debug/activity_analyzer.h b/base/debug/activity_analyzer.h
|
| index 14244b7b1fe80384f477f7fbfacdfced7c7b374b..74d8ad802eb0c25d81caf70a02e24d4f278315b6 100644
|
| --- a/base/debug/activity_analyzer.h
|
| +++ b/base/debug/activity_analyzer.h
|
| @@ -99,6 +99,11 @@ class BASE_EXPORT ThreadActivityAnalyzer {
|
| // show small inconsistencies between threads if attempted on a live system.
|
| class BASE_EXPORT GlobalActivityAnalyzer {
|
| public:
|
| + struct ProgramLocation {
|
| + int module;
|
| + uintptr_t offset;
|
| + };
|
| +
|
| using ThreadKey = ThreadActivityAnalyzer::ThreadKey;
|
|
|
| // Creates a global analyzer from a persistent memory allocator.
|
| @@ -124,6 +129,10 @@ class BASE_EXPORT GlobalActivityAnalyzer {
|
| // Ownership stays with the global analyzer object.
|
| ThreadActivityAnalyzer* GetAnalyzerForThread(const ThreadKey& key);
|
|
|
| + // Gets the corresponding "program location" for a given "program counter".
|
| + // This will return {0,0} if no mapping could be found.
|
| + ProgramLocation GetProgramLocationFromAddress(uint64_t address);
|
| +
|
| private:
|
| using AnalyzerMap =
|
| std::map<ThreadKey, std::unique_ptr<ThreadActivityAnalyzer>>;
|
|
|