/system/core/libbacktrace/ |
D | ThreadEntry.cpp | 28 ThreadEntry* ThreadEntry::list_ = nullptr; 29 pthread_mutex_t ThreadEntry::list_mutex_ = PTHREAD_MUTEX_INITIALIZER; 33 ThreadEntry::ThreadEntry(pid_t pid, pid_t tid) in ThreadEntry() function in ThreadEntry 36 next_(ThreadEntry::list_), prev_(nullptr) { in ThreadEntry() 43 if (ThreadEntry::list_) { in ThreadEntry() 44 ThreadEntry::list_->prev_ = this; in ThreadEntry() 46 ThreadEntry::list_ = this; in ThreadEntry() 49 ThreadEntry* ThreadEntry::Get(pid_t pid, pid_t tid, bool create) { in Get() 50 pthread_mutex_lock(&ThreadEntry::list_mutex_); in Get() 51 ThreadEntry* entry = list_; in Get() [all …]
|
D | ThreadEntry.h | 24 class ThreadEntry { 26 static ThreadEntry* Get(pid_t pid, pid_t tid, bool create = true); 28 static void Remove(ThreadEntry* entry); 51 ThreadEntry(pid_t pid, pid_t tid); 52 ~ThreadEntry(); 63 ThreadEntry* next_; 64 ThreadEntry* prev_; 67 static ThreadEntry* list_;
|
D | BacktraceCurrent.cpp | 124 ThreadEntry* entry = ThreadEntry::Get(getpid(), android::base::GetThreadId(), false); in SignalHandler() 155 ThreadEntry* entry = ThreadEntry::Get(Pid(), Tid()); in UnwindThread() 165 ThreadEntry::Remove(entry); in UnwindThread() 181 ThreadEntry::Remove(entry); in UnwindThread() 229 ThreadEntry::Remove(entry); in UnwindThread()
|
D | Android.bp | 36 "ThreadEntry.cpp",
|
/system/extras/simpleperf/ |
D | thread_tree.h | 68 struct ThreadEntry { struct 95 ThreadEntry* FindThreadOrNew(int pid, int tid); 100 const MapEntry* FindMap(const ThreadEntry* thread, uint64_t ip, 103 const MapEntry* FindMap(const ThreadEntry* thread, uint64_t ip); 128 std::vector<const ThreadEntry*> GetAllThreads() const; 131 ThreadEntry* CreateThread(int pid, int tid); 138 std::unordered_map<int, std::unique_ptr<ThreadEntry>> thread_tree_; 158 using ThreadEntry = simpleperf::ThreadEntry; variable
|
D | thread_tree.cpp | 32 ThreadEntry* thread = FindThreadOrNew(pid, tid); in SetThreadName() 41 ThreadEntry* parent = FindThreadOrNew(ppid, ptid); in ForkThread() 42 ThreadEntry* child = FindThreadOrNew(pid, tid); in ForkThread() 56 ThreadEntry* ThreadTree::FindThreadOrNew(int pid, int tid) { in FindThreadOrNew() 71 ThreadEntry* ThreadTree::CreateThread(int pid, int tid) { in CreateThread() 78 ThreadEntry* process = FindThreadOrNew(pid, pid); in CreateThread() 81 ThreadEntry* thread = new ThreadEntry{ in CreateThread() 86 auto pair = thread_tree_.insert(std::make_pair(tid, std::unique_ptr<ThreadEntry>(thread))); in CreateThread() 116 ThreadEntry* thread = FindThreadOrNew(pid, tid); in AddThreadMap() 196 const MapEntry* ThreadTree::FindMap(const ThreadEntry* thread, uint64_t ip, bool in_kernel) { in FindMap() [all …]
|
D | OfflineUnwinder.h | 32 struct ThreadEntry; 72 bool UnwindCallChain(const ThreadEntry& thread, const RegSet& regs, const char* stack, 100 bool UnwindCallChain(const ThreadEntry&, const RegSet&, const char*, size_t, in UnwindCallChain() argument
|
D | thread_tree_test.cpp | 37 ThreadEntry* thread = thread_tree_.FindThreadOrNew(0, 0); in CheckMaps() 102 ThreadEntry* thread = thread_tree_.FindThreadOrNew(0, 0); in TEST_F()
|
D | cmd_report_sample.cpp | 118 bool GetCallEntry(const ThreadEntry* thread, bool in_kernel, uint64_t ip, bool omit_unknown_dso, 503 const ThreadEntry* thread = thread_tree_.FindThreadOrNew(r.tid_data.pid, r.tid_data.tid); in ProcessSampleRecord() 581 bool ReportSampleCommand::GetCallEntry(const ThreadEntry* thread, in GetCallEntry() 649 std::vector<const ThreadEntry*> threads = thread_tree_.GetAllThreads(); in PrintThreadInfoInProtobuf() 650 auto compare_thread_id = [](const ThreadEntry* t1, const ThreadEntry* t2) { in PrintThreadInfoInProtobuf()
|
D | sample_tree_test.cpp | 65 const ThreadEntry* thread = thread_tree_->FindThreadOrNew(pid, tid); in AddSample() 84 const ThreadEntry* GetThreadOfSample(SampleEntry*) override { in GetThreadOfSample()
|
D | cmd_report.cpp | 65 const ThreadEntry* thread; 75 uint64_t sample_count, const ThreadEntry* thread, in SampleEntry() 151 const ThreadEntry* thread = in CreateSample() 166 const ThreadEntry* thread = in CreateBranchSample() 190 const ThreadEntry* thread = sample->thread; in CreateCallChainSample() 205 const ThreadEntry* GetThreadOfSample(SampleEntry* sample) override { in GetThreadOfSample()
|
D | sample_tree.h | 106 const ThreadEntry* thread = GetThreadOfSample(sample); in ProcessSampleRecord() 195 virtual const ThreadEntry* GetThreadOfSample(EntryT*) = 0;
|
D | cmd_debug_unwind.cpp | 235 ThreadEntry* thread = thread_tree_.FindThreadOrNew(r.tid_data.pid, r.tid_data.tid); in ProcessRecord() 273 const ThreadEntry* thread = thread_tree_.FindThreadOrNew(r.tid_data.pid, r.tid_data.tid); in CollectHitFileInfo()
|
D | cmd_dumprecord.cpp | 171 ThreadEntry* thread = thread_tree.FindThreadOrNew(pid, tid); in DumpDataSection()
|
D | OfflineUnwinder.cpp | 186 bool OfflineUnwinder::UnwindCallChain(const ThreadEntry& thread, const RegSet& regs, in UnwindCallChain()
|
D | report_lib_interface.cpp | 180 const ThreadEntry* current_thread_;
|
D | cmd_record.cpp | 1413 ThreadEntry* thread = in UnwindRecord() 1660 const ThreadEntry* thread = in CollectHitFileInfo()
|
D | cmd_kmem.cpp | 229 const ThreadEntry* GetThreadOfSample(SlabSample*) override { return nullptr; } in GetThreadOfSample()
|