Lines Matching refs:ip
404 uint64_t ip = node->section.ip | KERNEL_PREFIX; in CollectDedupSymbol() local
405 if (ip == PERF_CONTEXT_KERNEL || ip == PERF_CONTEXT_USER) { in CollectDedupSymbol()
408 kernelSymbolsHits.insert(ip); in CollectDedupSymbol()
410 userSymbolsHits[pid].insert(node->section.ip); in CollectDedupSymbol()
464 void VirtualRuntime::SymbolicCallFrame(PerfRecordSample &recordSample, uint64_t ip, in SymbolicCallFrame() argument
472 auto symbol = GetSymbol(ip, pid, tid, context); in SymbolicCallFrame()
473 MakeCallFrame(symbol, recordSample.callFrames_.emplace_back(ip, 0)); in SymbolicCallFrame()
503 SymbolicCallFrame(recordSample, recordSample.data_.ip, server_pid, PERF_CONTEXT_MAX); in SymbolicRecord()
506 uint64_t ip = recordSample.data_.ips[i]; in SymbolicRecord() local
507 if (ip >= PERF_CONTEXT_MAX) { in SymbolicRecord()
508 std::string contextName = UpdatePerfContext(ip, context); in SymbolicRecord()
511 } else if (ip < BAD_IP_ADDRESS) { in SymbolicRecord()
516 SymbolicCallFrame(recordSample, ip, server_pid, context); in SymbolicRecord()
815 const DfxSymbol VirtualRuntime::GetKernelSymbol(uint64_t ip, const std::vector<DfxMap> &memMaps, in GetKernelSymbol() argument
818 DfxSymbol vaddrSymbol(ip, thread.name_); in GetKernelSymbol()
820 if (ip > map.begin && ip < map.end) { in GetKernelSymbol()
822 ip, map.begin, map.end, map.name.c_str()); in GetKernelSymbol()
829 symbolsFile->GetVaddrInSymbols(ip, map.begin, map.offset); in GetKernelSymbol()
831 if (GetSymbolCache(ip, vaddrSymbol, context)) { in GetKernelSymbol()
836 vaddrSymbol.fileVaddr_, ip, map.name.c_str()); in GetKernelSymbol()
841 foundSymbols.taskVaddr_ = ip; in GetKernelSymbol()
844 ip, vaddrSymbol.fileVaddr_, map.name.c_str()); in GetKernelSymbol()
851 HLOGW("addr 0x%" PRIx64 " in map but NOT found the symbol file %s", ip, in GetKernelSymbol()
854 HLOGM("addr 0x%" PRIx64 " not in map 0x%" PRIx64 " - 0x%" PRIx64 " from %s", ip, in GetKernelSymbol()
861 const DfxSymbol VirtualRuntime::GetKernelThreadSymbol(uint64_t ip, const VirtualThread &thread) in GetKernelThreadSymbol() argument
863 DfxSymbol vaddrSymbol(ip, thread.name_); in GetKernelThreadSymbol()
864 int64_t mapIndex = thread.FindMapIndexByAddr(ip); in GetKernelThreadSymbol()
867 thread.ReportVaddrMapMiss(ip); in GetKernelThreadSymbol()
874 ip, map->begin, map->end, map->name.c_str()); in GetKernelThreadSymbol()
881 symbolsFile->GetVaddrInSymbols(ip, map->begin, map->offset); in GetKernelThreadSymbol()
883 if (GetSymbolCache(ip, vaddrSymbol, context)) { in GetKernelThreadSymbol()
887 vaddrSymbol.fileVaddr_, ip, map->name.c_str()); in GetKernelThreadSymbol()
893 foundSymbols.taskVaddr_ = ip; in GetKernelThreadSymbol()
896 ip, vaddrSymbol.fileVaddr_, map->name.c_str()); in GetKernelThreadSymbol()
903 HLOGW("addr 0x%" PRIx64 " in map but NOT found the symbol file %s", ip, in GetKernelThreadSymbol()
908 const DfxSymbol VirtualRuntime::GetUserSymbol(uint64_t ip, const VirtualThread &thread) in GetUserSymbol() argument
910 DfxSymbol vaddrSymbol(ip, thread.name_); in GetUserSymbol()
911 int64_t mapIndex = thread.FindMapIndexByAddr(ip); in GetUserSymbol()
919 symbolsFile->GetVaddrInSymbols(ip, map->begin, map->offset); in GetUserSymbol()
921 if (GetSymbolCache(ip, vaddrSymbol, context)) { in GetUserSymbol()
925 vaddrSymbol.fileVaddr_, ip, map->name.c_str()); in GetUserSymbol()
930 foundSymbols.taskVaddr_ = ip; in GetUserSymbol()
932 HLOGW("addr 0x%" PRIx64 " vaddr 0x%" PRIx64 " NOT found in symbol file %s", ip, in GetUserSymbol()
939 HLOGW("addr 0x%" PRIx64 " in map but NOT found the symbol file %s", ip, in GetUserSymbol()
944 thread.ReportVaddrMapMiss(ip); in GetUserSymbol()
950 bool VirtualRuntime::GetSymbolCache(uint64_t ip, DfxSymbol &symbol, in GetSymbolCache() argument
953 if (context == PERF_CONTEXT_MAX and kThreadSymbolCache_.count(ip)) { in GetSymbolCache()
959 HLOGV("hit kernel thread cache 0x%" PRIx64 " %d", ip, symbol.hit_); in GetSymbolCache()
961 } else if (context != PERF_CONTEXT_USER and kernelSymbolCache_.count(ip)) { in GetSymbolCache()
967 HLOGV("hit kernel cache 0x%" PRIx64 " %d", ip, symbol.hit_); in GetSymbolCache()
977 HLOGV("hit user cache 0x%" PRIx64 " %d %s", ip, symbol.hit_, in GetSymbolCache()
987 DfxSymbol VirtualRuntime::GetSymbol(uint64_t ip, pid_t pid, pid_t tid, const perf_callchain_context… in GetSymbol() argument
989 HLOGV("try find tid %u ip 0x%" PRIx64 " in %zu symbolsFiles\n", tid, ip, symbolsFiles_.size()); in GetSymbol()
996 symbol = GetKernelThreadSymbol(ip, kthread); in GetSymbol()
997 HLOGM("add addr to kernel thread cache 0x%" PRIx64 " cache size %zu", ip, in GetSymbol()
1007 symbol = GetUserSymbol(ip, GetThread(pid, tid)); in GetSymbol()
1012 HLOGV("cache ip 0x%" PRIx64 " to %s", ip, in GetSymbol()
1019 symbol = GetKernelSymbol(ip, kernelSpaceMemMaps_, GetThread(pid, tid)); in GetSymbol()
1020 HLOGM("add addr to kernel cache 0x%" PRIx64 " cache size %zu", ip, in GetSymbol()