Home
last modified time | relevance | path

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

12

/system/unwinding/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.cpp136 ThreadEntry* entry = ThreadEntry::Get(getpid(), android::base::GetThreadId(), false); in SignalHandler()
167 ThreadEntry* entry = ThreadEntry::Get(Pid(), Tid()); in UnwindThread()
177 ThreadEntry::Remove(entry); in UnwindThread()
193 ThreadEntry::Remove(entry); in UnwindThread()
241 ThreadEntry::Remove(entry); in UnwindThread()
DAndroid.bp40 "ThreadEntry.cpp",
/system/unwinding/libunwindstack/
DThreadEntry.cpp32 std::mutex ThreadEntry::entries_mutex_;
33 std::map<pid_t, ThreadEntry*> ThreadEntry::entries_;
37 ThreadEntry::ThreadEntry(pid_t tid) : tid_(tid), ref_count_(1), wait_value_(0) { in ThreadEntry() function in unwindstack::ThreadEntry
42 ThreadEntry* ThreadEntry::Get(pid_t tid, bool create) { in Get()
43 ThreadEntry* entry = nullptr; in Get()
49 entry = new ThreadEntry(tid); in Get()
59 void ThreadEntry::Remove(ThreadEntry* entry) { in Remove()
70 ThreadEntry::~ThreadEntry() { in ~ThreadEntry()
77 bool ThreadEntry::Wait(WaitType type) { in Wait()
88 void ThreadEntry::Wake() { in Wake()
[all …]
DThreadEntry.h36 class ThreadEntry {
38 static ThreadEntry* Get(pid_t tid, bool create = true);
40 static void Remove(ThreadEntry* entry);
61 ThreadEntry(pid_t tid);
62 ~ThreadEntry();
73 static std::map<pid_t, ThreadEntry*> entries_;
DThreadUnwinder.cpp49 ThreadEntry* entry = ThreadEntry::Get(android::base::GetThreadId(), false); in SignalHandler()
84 ThreadEntry* ThreadUnwinder::SendSignalToThread(int signal, pid_t tid) { in SendSignalToThread()
88 ThreadEntry* entry = ThreadEntry::Get(tid); in SendSignalToThread()
96 ThreadEntry::Remove(entry); in SendSignalToThread()
111 ThreadEntry::Remove(entry); in SendSignalToThread()
143 ThreadEntry::Remove(entry); in SendSignalToThread()
161 ThreadEntry* entry = SendSignalToThread(signal, tid); in UnwindWithSignal()
179 ThreadEntry::Remove(entry); in UnwindWithSignal()
/system/extras/simpleperf/
Dthread_tree.h77 struct ThreadEntry { struct
105 virtual ThreadEntry* FindThread(int tid) const;
106 ThreadEntry* FindThreadOrNew(int pid, int tid);
117 const MapEntry* FindMap(const ThreadEntry* thread, uint64_t ip, bool in_kernel);
119 const MapEntry* FindMap(const ThreadEntry* thread, uint64_t ip);
143 ThreadEntry* CreateThread(int pid, int tid);
153 void AddThreadMapsForDsoSymbols(ThreadEntry* thread, Dso* dso);
155 std::unordered_map<int, std::unique_ptr<ThreadEntry>> thread_tree_;
Dthread_tree.cpp45 ThreadEntry* thread = FindThreadOrNew(pid, tid); in SetThreadName()
53 ThreadEntry* parent = FindThreadOrNew(ppid, ptid); in ForkThread()
54 ThreadEntry* child = FindThreadOrNew(pid, tid); in ForkThread()
69 ThreadEntry* ThreadTree::FindThread(int tid) const { in FindThread()
76 ThreadEntry* ThreadTree::FindThreadOrNew(int pid, int tid) { in FindThreadOrNew()
87 ThreadEntry* ThreadTree::CreateThread(int pid, int tid) { in CreateThread()
95 ThreadEntry* process = FindThreadOrNew(pid, pid); in CreateThread()
99 ThreadEntry* thread = new ThreadEntry{ in CreateThread()
105 auto pair = thread_tree_.insert(std::make_pair(tid, std::unique_ptr<ThreadEntry>(thread))); in CreateThread()
160 ThreadEntry* thread = FindThreadOrNew(pid, tid); in AddThreadMap()
[all …]
DOfflineUnwinder.h27 struct ThreadEntry;
63 virtual bool UnwindCallChain(const ThreadEntry& thread, const RegSet& regs, const char* stack,
Dsample_tree_test.cpp66 const ThreadEntry* thread = thread_tree_->FindThreadOrNew(pid, tid); in AddSample()
77 SampleEntry* CreateCallChainSample(const ThreadEntry*, const SampleEntry*, uint64_t, bool, in CreateCallChainSample() argument
81 const ThreadEntry* GetThreadOfSample(SampleEntry*) override { return nullptr; } in GetThreadOfSample()
Dthread_tree_test.cpp39 ThreadEntry* thread = thread_tree_.FindThreadOrNew(0, 0); in CheckMaps()
110 ThreadEntry* thread = thread_tree_.FindThreadOrNew(0, 0); in TEST_F()
DOfflineUnwinder_impl.h41 bool UnwindCallChain(const ThreadEntry& thread, const RegSet& regs, const char* stack,
DRecordFilter.cpp112 if (ThreadEntry* process = thread_tree_.FindThread(r->tid_data.pid); process != nullptr) { in CheckCondition()
119 if (ThreadEntry* thread = thread_tree_.FindThread(r->tid_data.tid); thread != nullptr) { in CheckCondition()
Dcmd_debug_unwind.cpp276 ThreadEntry* thread = thread_tree_.FindThreadOrNew(r.tid_data.pid, r.tid_data.tid); in UnwindRecord()
277 ThreadEntry thread_with_new_maps = CreateThreadWithUpdatedMaps(*thread); in UnwindRecord()
308 ThreadEntry CreateThreadWithUpdatedMaps(const ThreadEntry& thread) { in CreateThreadWithUpdatedMaps()
309 ThreadEntry new_thread = thread; in CreateThreadWithUpdatedMaps()
387 ThreadEntry* thread = thread_tree_.FindThread(r.tid_data.tid); in WriteMapsForSample()
524 ThreadEntry* thread = thread_tree_.FindThreadOrNew(sr.tid_data.pid, sr.tid_data.tid); in ReportUnwindingResult()
Dreport_utils.h60 std::vector<CallChainReportEntry> Build(const ThreadEntry* thread,
Dsample_tree.h104 const ThreadEntry* thread = GetThreadOfSample(sample); in ProcessSampleRecord()
187 virtual EntryT* CreateCallChainSample(const ThreadEntry* thread, const EntryT* sample,
191 virtual const ThreadEntry* GetThreadOfSample(EntryT*) = 0;
Dcmd_report.cpp82 int cpu, const ThreadEntry* thread, const MapEntry* map, const Symbol* symbol, in SampleEntry()
167 const ThreadEntry* thread = thread_tree_->FindThreadOrNew(r.tid_data.pid, r.tid_data.tid); in CreateSample()
178 const ThreadEntry* thread = thread_tree_->FindThreadOrNew(r.tid_data.pid, r.tid_data.tid); in CreateBranchSample()
195 SampleEntry* CreateCallChainSample(const ThreadEntry* thread, const SampleEntry* sample, in CreateCallChainSample()
213 const ThreadEntry* GetThreadOfSample(SampleEntry* sample) override { in GetThreadOfSample()
Dcmd_monitor.cpp565 ThreadEntry* thread = thread_tree_.FindThreadOrNew(pid, tid); in GetSymbolInfo()
602 ThreadEntry* thread = thread_tree_.FindThreadOrNew(r.tid_data.pid, r.tid_data.tid); in UnwindRecord()
Dcmd_inject.cpp88 ThreadEntry* FindThread(int tid) const override { in FindThread()
89 ThreadEntry* thread = ThreadTree::FindThread(tid); in FindThread()
Dreport_utils.cpp90 std::vector<CallChainReportEntry> CallChainReportBuilder::Build(const ThreadEntry* thread, in Build()
Dcmd_kmem.cpp203 SlabSample* CreateCallChainSample(const ThreadEntry*, const SlabSample* sample, uint64_t ip, in CreateCallChainSample() argument
216 const ThreadEntry* GetThreadOfSample(SlabSample*) override { return nullptr; } in GetThreadOfSample()
DOfflineUnwinder.cpp242 bool OfflineUnwinderImpl::UnwindCallChain(const ThreadEntry& thread, const RegSet& regs, in UnwindCallChain()
/system/extras/simpleperf/nonlinux_support/
Dnonlinux_support.cpp50 bool UnwindCallChain(const ThreadEntry&, const RegSet&, const char*, size_t, in UnwindCallChain() argument
/system/unwinding/libunwindstack/include/unwindstack/
DUnwinder.h40 class ThreadEntry; variable
209 ThreadEntry* SendSignalToThread(int signal, pid_t tid);

12