Home
last modified time | relevance | path

Searched refs:ThreadEntry (Results 1 – 18 of 18) sorted by relevance

/system/core/libbacktrace/
DThreadEntry.cpp28 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 …]
DThreadEntry.h24 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_;
DBacktraceCurrent.cpp124 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()
DAndroid.bp36 "ThreadEntry.cpp",
/system/extras/simpleperf/
Dthread_tree.h68 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
Dthread_tree.cpp32 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 …]
DOfflineUnwinder.h32 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
Dthread_tree_test.cpp37 ThreadEntry* thread = thread_tree_.FindThreadOrNew(0, 0); in CheckMaps()
102 ThreadEntry* thread = thread_tree_.FindThreadOrNew(0, 0); in TEST_F()
Dcmd_report_sample.cpp118 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()
Dsample_tree_test.cpp65 const ThreadEntry* thread = thread_tree_->FindThreadOrNew(pid, tid); in AddSample()
84 const ThreadEntry* GetThreadOfSample(SampleEntry*) override { in GetThreadOfSample()
Dcmd_report.cpp65 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()
Dsample_tree.h106 const ThreadEntry* thread = GetThreadOfSample(sample); in ProcessSampleRecord()
195 virtual const ThreadEntry* GetThreadOfSample(EntryT*) = 0;
Dcmd_debug_unwind.cpp235 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()
Dcmd_dumprecord.cpp171 ThreadEntry* thread = thread_tree.FindThreadOrNew(pid, tid); in DumpDataSection()
DOfflineUnwinder.cpp186 bool OfflineUnwinder::UnwindCallChain(const ThreadEntry& thread, const RegSet& regs, in UnwindCallChain()
Dreport_lib_interface.cpp180 const ThreadEntry* current_thread_;
Dcmd_record.cpp1413 ThreadEntry* thread = in UnwindRecord()
1660 const ThreadEntry* thread = in CollectHitFileInfo()
Dcmd_kmem.cpp229 const ThreadEntry* GetThreadOfSample(SlabSample*) override { return nullptr; } in GetThreadOfSample()