Home
last modified time | relevance | path

Searched refs:ThreadEntry (Results 1 – 21 of 21) 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.h81 struct ThreadEntry { struct
108 ThreadEntry* FindThread(int tid);
109 ThreadEntry* FindThreadOrNew(int pid, int tid);
116 const MapEntry* FindMap(const ThreadEntry* thread, uint64_t ip,
119 const MapEntry* FindMap(const ThreadEntry* thread, uint64_t ip);
146 ThreadEntry* CreateThread(int pid, int tid);
153 std::unordered_map<int, std::unique_ptr<ThreadEntry>> thread_tree_;
172 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()
57 ThreadEntry* ThreadTree::FindThread(int tid) { in FindThread()
64 ThreadEntry* ThreadTree::FindThreadOrNew(int pid, int tid) { in FindThreadOrNew()
75 ThreadEntry* ThreadTree::CreateThread(int pid, int tid) { in CreateThread()
83 ThreadEntry* process = FindThreadOrNew(pid, pid); in CreateThread()
87 ThreadEntry* thread = new ThreadEntry{ in CreateThread()
92 auto pair = thread_tree_.insert(std::make_pair(tid, std::unique_ptr<ThreadEntry>(thread))); in CreateThread()
129 ThreadEntry* thread = FindThreadOrNew(pid, tid); in AddThreadMap()
[all …]
DOfflineUnwinder.h27 struct ThreadEntry;
60 virtual bool UnwindCallChain(const ThreadEntry& thread, const RegSet& regs, const char* stack,
Dthread_tree_test.cpp37 ThreadEntry* thread = thread_tree_.FindThreadOrNew(0, 0); in CheckMaps()
102 ThreadEntry* thread = thread_tree_.FindThreadOrNew(0, 0); in TEST_F()
Dsample_tree_test.cpp65 const ThreadEntry* thread = thread_tree_->FindThreadOrNew(pid, tid); in AddSample()
79 SampleEntry* CreateCallChainSample(const ThreadEntry*, const SampleEntry*, uint64_t, bool, in CreateCallChainSample() argument
84 const ThreadEntry* GetThreadOfSample(SampleEntry*) override { in GetThreadOfSample()
DOfflineUnwinder_impl.h41 bool UnwindCallChain(const ThreadEntry& thread, const RegSet& regs, const char* stack,
Dsample_tree.h108 const ThreadEntry* thread = GetThreadOfSample(sample); in ProcessSampleRecord()
193 virtual EntryT* CreateCallChainSample(const ThreadEntry* thread, const EntryT* sample,
197 virtual const ThreadEntry* GetThreadOfSample(EntryT*) = 0;
Dcmd_report.cpp76 uint64_t sample_count, const ThreadEntry* thread, in SampleEntry()
163 const ThreadEntry* thread = in CreateSample()
178 const ThreadEntry* thread = in CreateBranchSample()
198 SampleEntry* CreateCallChainSample(const ThreadEntry* thread, const SampleEntry* sample, in CreateCallChainSample()
216 const ThreadEntry* GetThreadOfSample(SampleEntry* sample) override { in GetThreadOfSample()
Dcmd_debug_unwind.cpp236 ThreadEntry* thread = thread_tree_.FindThreadOrNew(r.tid_data.pid, r.tid_data.tid); in ProcessRecord()
274 const ThreadEntry* thread = thread_tree_.FindThreadOrNew(r.tid_data.pid, r.tid_data.tid); in CollectHitFileInfo()
Dcmd_report_sample.cpp121 bool GetCallEntry(const ThreadEntry* thread, bool in_kernel, uint64_t ip, bool omit_unknown_dso,
497 const ThreadEntry* thread = thread_tree_.FindThreadOrNew(r.tid_data.pid, r.tid_data.tid); in ProcessSampleRecord()
577 bool ReportSampleCommand::GetCallEntry(const ThreadEntry* thread, in GetCallEntry()
Dcmd_kmem.cpp214 SlabSample* CreateCallChainSample(const ThreadEntry*, in CreateCallChainSample() argument
229 const ThreadEntry* GetThreadOfSample(SlabSample*) override { return nullptr; } in GetThreadOfSample()
DOfflineUnwinder.cpp223 bool OfflineUnwinderImpl::UnwindCallChain(const ThreadEntry& thread, const RegSet& regs, in UnwindCallChain()
Dcmd_dumprecord.cpp362 ThreadEntry* thread = thread_tree_.FindThreadOrNew(pid, tid); in GetSymbolInfo()
Dreport_lib_interface.cpp182 const ThreadEntry* current_thread_;
Dcmd_record.cpp1530 ThreadEntry* thread = in UnwindRecord()
1792 const ThreadEntry* thread = in CollectHitFileInfo()
DETMDecoder.cpp226 const ThreadEntry* thread = nullptr;
/system/extras/simpleperf/nonlinux_support/
Dnonlinux_support.cpp50 bool UnwindCallChain(const ThreadEntry&, const RegSet&, const char*, size_t, in UnwindCallChain() argument