Lines Matching refs:thread
42 auto process = unwindInfoPtr.callStack.porcessMemoryMap_.find(unwindInfoPtr.thread.pid_); in ReadVirtualThreadMemory()
51 if (unwindInfoPtr.thread.ReadRoMemory(addr, (uint8_t *)data, sizeof(ADDR_TYPE))) { in ReadVirtualThreadMemory()
52 unwindInfoPtr.callStack.porcessMemoryMap_[unwindInfoPtr.thread.pid_][addr] = *data; in ReadVirtualThreadMemory()
93 const VirtualThread &thread) in fillUDI() argument
130 auto ehFrameMap = thread.FindMapByFileInfo(map->name, ehFrameHdrElfOffset); in fillUDI()
145 const MemMapItem *targetMmap = thread.FindMapByFileInfo(mmap.name_, SectionFileOffset); in fillUDI()
175 if (dynInfoProcessMap.find(unwindInfoPtr->thread.pid_) == dynInfoProcessMap.end()) { in FindUnwindTable()
176 dynInfoProcessMap.emplace(unwindInfoPtr->thread.pid_, dsoUnwDynInfoMap {}); in FindUnwindTable()
178 dsoUnwDynInfoMap &dynFileMap = dynInfoProcessMap[unwindInfoPtr->thread.pid_]; in FindUnwindTable()
195 if (fillUDI(newdi, *symbolsFile, map, unwindInfoPtr->thread)) { in FindUnwindTable()
201 HLOG_ASSERT(dynInfoProcessMap.find(unwindInfoPtr->thread.pid_) != dynInfoProcessMap.end()); in FindUnwindTable()
205 dynInfoProcessMap.at(unwindInfoPtr->thread.pid_).at(symbolsFile->filePath_); in FindUnwindTable()
233 HLOGW("no debug info found for thread %d:%s", unwindInfoPtr->thread.tid_, in FindUnwindTable()
234 unwindInfoPtr->thread.name_.c_str()); in FindUnwindTable()
245 auto map = unwindInfoPtr->thread.FindMapByAddr(ip); in FindProcInfo()
247 SymbolsFile *symbolsFile = unwindInfoPtr->thread.FindSymbolsFileByMap(*map); in FindProcInfo()
252 HLOGW("no symbols file found for thread %d:%s", unwindInfoPtr->thread.tid_, in FindProcInfo()
253 unwindInfoPtr->thread.name_.c_str()); in FindProcInfo()
257 unwindInfoPtr->thread.tid_, unwindInfoPtr->thread.name_.c_str()); in FindProcInfo()
410 bool CallStack::DoUnwind(const VirtualThread &thread, std::vector<CallFrame> &callStack, in DoUnwind() argument
415 .thread = thread, in DoUnwind()
419 if (unwindAddrSpaceMap_.count(thread.tid_) == 0) { in DoUnwind()
422 unwindAddrSpaceMap_.emplace(thread.tid_, addr_space); in DoUnwind()
426 addr_space = unwindAddrSpaceMap_.at(thread.tid_); in DoUnwind()
440 bool CallStack::UnwindCallStack(const VirtualThread &thread, u64 *regs, u64 regsNum, in UnwindCallStack() argument
476 return DoUnwind(thread, callStack, maxStackLevel); in UnwindCallStack()
478 return DoUnwind2(thread, callStack, maxStackLevel); in UnwindCallStack()
502 bool CallStack::DoUnwind2(const VirtualThread &thread, std::vector<CallFrame> &callStack, in DoUnwind2() argument
506 .thread = thread, in DoUnwind2()
510 if (pidUnwinder_.count(thread.pid_) == 0) { in DoUnwind2()
511 pidUnwinder_.emplace(thread.pid_, std::make_shared<Unwinder>(accessor_)); in DoUnwind2()
513 auto unwinder = pidUnwinder_[thread.pid_]; in DoUnwind2()
562 if (tableInfoMap.find(unwindInfoPtr->thread.pid_) == tableInfoMap.end()) { in FillUnwindTable()
563 tableInfoMap.emplace(unwindInfoPtr->thread.pid_, DsoUnwindTableInfoMap {}); in FillUnwindTable()
565 DsoUnwindTableInfoMap &unwTabMap = tableInfoMap[unwindInfoPtr->thread.pid_]; in FillUnwindTable()
596 auto map = unwindInfoPtr->thread.FindMapByAddr(pc); in FindUnwindTable()
598 SymbolsFile *symbolsFile = unwindInfoPtr->thread.FindSymbolsFileByMap(map); in FindUnwindTable()
602 HLOGW("no symbols file found for thread %d:%s", unwindInfoPtr->thread.tid_, in FindUnwindTable()
603 unwindInfoPtr->thread.name_.c_str()); in FindUnwindTable()
607 unwindInfoPtr->thread.tid_, unwindInfoPtr->thread.name_.c_str()); in FindUnwindTable()