• Home
  • Raw
  • Download

Lines Matching refs:callStack

165     auto &dynInfoProcessMap = unwindInfoPtr->callStack.unwindDynInfoMap_;  in FindUnwindTable()
261 if (__builtin_expect(unwindInfoPtr.thread.pid_ == unwindInfoPtr.callStack.lastPid_ && in ReadVirtualThreadMemory()
262 vaddr == unwindInfoPtr.callStack.lastAddr_, true)) { in ReadVirtualThreadMemory()
263 *data = unwindInfoPtr.callStack.lastData_; in ReadVirtualThreadMemory()
268 unwindInfoPtr.callStack.lastPid_ = unwindInfoPtr.thread.pid_; in ReadVirtualThreadMemory()
269 unwindInfoPtr.callStack.lastAddr_ = vaddr; in ReadVirtualThreadMemory()
270 unwindInfoPtr.callStack.lastData_ = *data; in ReadVirtualThreadMemory()
273 unwindInfoPtr.callStack.lastPid_ = -1; in ReadVirtualThreadMemory()
274 unwindInfoPtr.callStack.lastAddr_ = 0; in ReadVirtualThreadMemory()
291 if (addr < unwindInfoPtr->callStack.stackPoint_ or in AccessMem()
292 addr + sizeof(unw_word_t) >= unwindInfoPtr->callStack.stackEnd_) { in AccessMem()
297 unwindInfoPtr->callStack.stackPoint_, unwindInfoPtr->callStack.stackEnd_, in AccessMem()
298 unwindInfoPtr->callStack.stackEnd_ - unwindInfoPtr->callStack.stackPoint_); in AccessMem()
302 size_t stackOffset = addr - unwindInfoPtr->callStack.stackPoint_; in AccessMem()
303 *valuePoint = *(unw_word_t *)&unwindInfoPtr->callStack.stack_[stackOffset]; in AccessMem()
327 if (unwindInfoPtr->callStack.regsNum_ == 0) { in AccessReg()
331 if (!RegisterGetValue(val, unwindInfoPtr->callStack.regs_, static_cast<size_t>(perfRegIndex), in AccessReg()
332 unwindInfoPtr->callStack.regsNum_)) { in AccessReg()
375 void CallStack::UnwindStep(unw_cursor_t &c, std::vector<CallFrame> &callStack, size_t maxStackLevel) in UnwindStep() argument
377 while (callStack.size() < maxStackLevel) { in UnwindStep()
400 HLOGV("unwind:%zu: ip 0x%" UNW_WORD_PFLAG " sp 0x%" UNW_WORD_PFLAG "", callStack.size(), in UnwindStep()
402 if (callStack.back().ip_ == ip && callStack.back().sp_ == sp) { in UnwindStep()
406 callStack.emplace_back(ip, sp); in UnwindStep()
437 bool CallStack::DoUnwind(const VirtualThread &thread, std::vector<CallFrame> &callStack, in DoUnwind() argument
443 .callStack = *this, in DoUnwind()
464 UnwindStep(c, callStack, maxStackLevel); in DoUnwind()
471 const u8 *stack, u64 stackSize, std::vector<CallFrame> &callStack, in UnwindCallStack() argument
496 HLOGV("unwind:%zu: ip 0x%" PRIx64 " sp 0x%" PRIx64 "", callStack.size(), ip, sp); in UnwindCallStack()
497 callStack.emplace_back(ip, sp); in UnwindCallStack()
506 return DoUnwind(thread, callStack, maxStackLevel); in UnwindCallStack()