/system/extras/simpleperf/ |
D | CallChainJoiner.cpp | 45 void LRUCache::AddCallChain(pid_t tid, std::vector<uint64_t>& ips, std::vector<uint64_t>& sps) { in AddCallChain() argument 48 for (size_t i = 0; i < ips.size(); ++i) { in AddCallChain() 49 CacheNode* node = GetNode(tid, ips[i], sps[i]); in AddCallChain() 68 std::vector<uint64_t> origin_ip = ips; in AddCallChain() 91 ips.resize(chain.size()); in AddCallChain() 96 ips.push_back(top->ip); in AddCallChain() 178 const std::vector<uint64_t>& ips, in WriteCallChain() argument 196 MoveToBinaryFormat(ips.data(), ip_count, p); in WriteCallChain() 207 std::vector<uint64_t>& ips, std::vector<uint64_t>& sps) { in ReadCallChain() argument 225 ips.resize(ip_count); in ReadCallChain() [all …]
|
D | CallChainJoiner_test.cpp | 182 std::vector<uint64_t> ips; in TEST_F() local 186 ASSERT_TRUE(joiner.GetNextCallChain(pid, tid, type, ips, sps)); in TEST_F() 191 ASSERT_EQ(ips, std::vector<uint64_t>({1, 2, 3})); in TEST_F() 195 ASSERT_EQ(ips, std::vector<uint64_t>({1, 2, 3, 4, 5})); in TEST_F() 200 ASSERT_TRUE(joiner.GetNextCallChain(pid, tid, type, ips, sps)); in TEST_F() 205 ASSERT_EQ(ips, std::vector<uint64_t>({3, 4, 5})); in TEST_F() 209 ASSERT_TRUE(joiner.GetNextCallChain(pid, tid, type, ips, sps)); in TEST_F() 214 ASSERT_EQ(ips, std::vector<uint64_t>({1, 4})); in TEST_F() 218 ASSERT_EQ(ips, std::vector<uint64_t>({1, 4, 5})); in TEST_F() 223 ASSERT_FALSE(joiner.GetNextCallChain(pid, tid, type, ips, sps)); in TEST_F() [all …]
|
D | record.cpp | 458 callchain_data.ips = reinterpret_cast<uint64_t*>(p); in SampleRecord() 503 const std::vector<uint64_t>& ips, const std::vector<char>& stack, in SampleRecord() argument 519 callchain_data.ip_nr = ips.size(); in SampleRecord() 548 size += sizeof(uint64_t) * (ips.size() + 1); in SampleRecord() 581 callchain_data.ips = reinterpret_cast<uint64_t*>(p); in SampleRecord() 582 MoveToBinaryFormat(ips.data(), ips.size(), p); in SampleRecord() 599 void SampleRecord::ReplaceRegAndStackWithCallChain(const std::vector<uint64_t>& ips) { in ReplaceRegAndStackWithCallChain() argument 600 uint32_t size_added_in_callchain = sizeof(uint64_t) * (ips.size() + 1); in ReplaceRegAndStackWithCallChain() 604 BuildBinaryWithNewCallChain(new_size, ips); in ReplaceRegAndStackWithCallChain() 613 if (callchain_data.ips[i] == PERF_CONTEXT_USER) { in ExcludeKernelCallChain() [all …]
|
D | cmd_debug_unwind.cpp | 108 void CollectHitFileInfo(const SampleRecord& r, const std::vector<uint64_t>& ips); 237 std::vector<uint64_t> ips; in ProcessRecord() local 240 r.GetValidStackSize(), &ips, &sps)) { in ProcessRecord() 258 r.ReplaceRegAndStackWithCallChain(ips); in ProcessRecord() 260 CallChainJoiner::ORIGINAL_OFFLINE, ips, sps)) { in ProcessRecord() 263 CollectHitFileInfo(r, ips); in ProcessRecord() 272 const std::vector<uint64_t>& ips) { in CollectHitFileInfo() argument 274 for (auto ip : ips) { in CollectHitFileInfo() 324 std::vector<uint64_t> ips; in JoinCallChains() local 327 if (!callchain_joiner_.GetNextCallChain(pid, tid, type, ips, sps)) { in JoinCallChains() [all …]
|
D | sample_tree.h | 101 std::vector<uint64_t> ips; in ProcessSampleRecord() local 103 ips.insert(ips.end(), r.callchain_data.ips, in ProcessSampleRecord() 104 r.callchain_data.ips + r.callchain_data.ip_nr); in ProcessSampleRecord() 118 ips.push_back(PERF_CONTEXT_USER); in ProcessSampleRecord() 119 ips.insert(ips.end(), user_ips.begin(), user_ips.end()); in ProcessSampleRecord() 127 for (auto& ip : ips) { in ProcessSampleRecord()
|
D | record_test.cpp | 73 ASSERT_EQ(PERF_CONTEXT_USER, r2.callchain_data.ips[0]); in TEST_F() 74 ASSERT_EQ(2u, r2.callchain_data.ips[1]); in TEST_F() 82 ASSERT_EQ(PERF_CONTEXT_USER, r4.callchain_data.ips[0]); in TEST_F() 83 ASSERT_EQ(PERF_CONTEXT_USER, r4.callchain_data.ips[1]); in TEST_F() 84 ASSERT_EQ(2u, r4.callchain_data.ips[2]); in TEST_F()
|
D | OfflineUnwinder.cpp | 188 std::vector<uint64_t>* ips, std::vector<uint64_t>* sps) { in UnwindCallChain() argument 194 ips->clear(); in UnwindCallChain() 232 last_jit_method_frame = ips->size(); in UnwindCallChain() 234 ips->push_back(frame.pc); in UnwindCallChain() 239 if (last_jit_method_frame != UINT_MAX && last_jit_method_frame + 3 > ips->size()) { in UnwindCallChain() 248 if (ips->empty()) { in UnwindCallChain() 249 ips->push_back(ip_reg_value); in UnwindCallChain() 253 CHECK_EQ((*ips)[0], ip_reg_value); in UnwindCallChain()
|
D | InplaceSamplerClient.cpp | 179 std::vector<uint64_t> ips(ip_nr); in HandleMessage() local 180 MoveFromBinaryFormat(ips.data(), ip_nr, p); in HandleMessage() 182 SampleRecord r(attr_, Id(), ips[0], pid_, tid, time, 0, period, ips, {}, 0); in HandleMessage()
|
D | CallChainJoiner.h | 73 void AddCallChain(pid_t tid, std::vector<uint64_t>& ips, std::vector<uint64_t>& sps); 158 bool AddCallChain(pid_t pid, pid_t tid, ChainType type, const std::vector<uint64_t>& ips, 161 bool GetNextCallChain(pid_t& pid, pid_t& tid, ChainType& type, std::vector<uint64_t>& ips,
|
D | record.h | 104 uint64_t* ips; member 398 uint64_t period, const std::vector<uint64_t>& ips, 401 void ReplaceRegAndStackWithCallChain(const std::vector<uint64_t>& ips); 421 void BuildBinaryWithNewCallChain(uint32_t new_size, const std::vector<uint64_t>& ips); 516 uint64_t* ips; member 522 const std::vector<uint64_t>& ips, const std::vector<uint64_t>& sps);
|
D | cmd_dumprecord.cpp | 188 if (sr.callchain_data.ips[i] >= PERF_CONTEXT_MAX) { in DumpDataSection() 189 if (sr.callchain_data.ips[i] == PERF_CONTEXT_USER) { in DumpDataSection() 197 get_symbol_function(sr.tid_data.pid, sr.tid_data.tid, sr.callchain_data.ips[i], in DumpDataSection() 210 get_symbol_function(cr.pid, cr.tid, cr.ips[i], dso_name, symbol_name, vaddr_in_file, in DumpDataSection()
|
D | cmd_report_sample.cpp | 485 std::vector<uint64_t> ips = r.GetCallChain(&kernel_ip_count); in ProcessSampleRecord() local 487 ips.erase(ips.begin(), ips.begin() + kernel_ip_count); in ProcessSampleRecord() 490 if (ips.empty()) { in ProcessSampleRecord() 494 ips.resize(1); in ProcessSampleRecord() 504 for (size_t i = 0; i < ips.size(); ++i) { in ProcessSampleRecord() 507 if (!GetCallEntry(thread, i < kernel_ip_count, ips[i], omit_unknown_dso, &entry)) { in ProcessSampleRecord()
|
D | record_equal_test.h | 57 EXPECT_EQ(r1.callchain_data.ips[i], r2.callchain_data.ips[i]); in CheckSampleRecordDataEqual()
|
D | OfflineUnwinder.h | 73 size_t stack_size, std::vector<uint64_t>* ips, std::vector<uint64_t>* sps);
|
D | cmd_record.cpp | 1416 std::vector<uint64_t> ips; in UnwindRecord() local 1419 r.GetValidStackSize(), &ips, &sps)) { in UnwindRecord() 1429 r.GetValidStackSize(), &ips, &sps)) { in UnwindRecord() 1433 r.ReplaceRegAndStackWithCallChain(ips); in UnwindRecord() 1436 CallChainJoiner::ORIGINAL_OFFLINE, ips, sps); in UnwindRecord() 1504 std::vector<uint64_t> ips; in JoinCallChains() local 1506 if (!callchain_joiner_->GetNextCallChain(pid, tid, type, ips, sps)) { in JoinCallChains() 1512 sr.UpdateUserCallChain(ips); in JoinCallChains() 1679 uint64_t ip = r.callchain_data.ips[i]; in CollectHitFileInfo()
|
D | report_lib_interface.cpp | 302 std::vector<uint64_t> ips = r.GetCallChain(&kernel_ip_count); in SetCurrentSample() local 308 for (size_t i = 0; i < ips.size(); ++i) { in SetCurrentSample() 309 const MapEntry* map = thread_tree_.FindMap(current_thread_, ips[i], i < kernel_ip_count); in SetCurrentSample() 325 ip_maps.push_back(std::make_pair(ips[i], map)); in SetCurrentSample()
|
/system/extras/simpleperf/scripts/ |
D | debug_unwind_reporter.py | 315 ips = [] 339 ips.append(int(m.group(1), 16)) 358 for ip in ips: 366 n = len(ips) 372 record.callchain.append(CallChainNode(ips[j], sps[j], filenames[j], vaddr_in_files[j],
|