/system/extras/simpleperf/ |
D | dso_test.cpp | 160 TEST(dso, dex_file_dso) { in TEST() argument 163 std::unique_ptr<Dso> dso = Dso::CreateDso(dso_type, GetTestData("base.vdex")); in TEST() local 164 ASSERT_TRUE(dso); in TEST() 165 dso->AddDexFileOffset(0x28); in TEST() 166 ASSERT_EQ(DSO_DEX_FILE, dso->type()); in TEST() 167 const Symbol* symbol = dso->FindSymbol(0x6c77e); in TEST() 175 dso->GetMinExecutableVaddr(&min_vaddr, &file_offset_of_min_vaddr); in TEST() 180 dso = Dso::CreateDso(dso_type, GetTestData("base.zip!/not_exist_entry")); in TEST() 181 ASSERT_TRUE(dso); in TEST() 182 ASSERT_EQ(nullptr, dso->FindSymbol(0)); in TEST() [all …]
|
D | thread_tree.cpp | 140 Dso* dso; in AddKernelMap() local 142 dso = FindKernelDsoOrNew(); in AddKernelMap() 144 dso = FindKernelModuleDsoOrNew(filename, start_addr, start_addr + len); in AddKernelMap() 146 InsertMap(kernel_maps_, MapEntry(start_addr, len, pgoff, dso, true)); in AddKernelMap() 170 Dso* dso = FindUserDsoOrNew(filename, start_addr); in AddThreadMap() local 171 CHECK(dso != nullptr); in AddThreadMap() 172 InsertMap(*thread->maps, MapEntry(start_addr, len, pgoff, dso, false, flags)); in AddThreadMap() 175 void ThreadTree::AddThreadMapsForDsoSymbols(ThreadEntry* thread, Dso* dso) { in AddThreadMapsForDsoSymbols() argument 184 for (const auto& sym : dso->GetSymbols()) { in AddThreadMapsForDsoSymbols() 190 InsertMap(*maps, MapEntry(map_start, map_end - map_start, map_start, dso, false, 0)); in AddThreadMapsForDsoSymbols() [all …]
|
D | report_utils_test.cpp | 165 ASSERT_EQ(entries[0].dso->Path(), fake_dex_file_path); in TEST_F() 170 ASSERT_EQ(entries[1].dso->Path(), fake_dex_file_path); in TEST_F() 186 ASSERT_EQ(entries[0].dso->Path(), fake_dex_file_path); in TEST_F() 191 ASSERT_EQ(entries[1].dso->Path(), fake_jit_cache_path); in TEST_F() 208 ASSERT_EQ(entries[i].dso->Path(), fake_interpreter_path); in TEST_F() 213 ASSERT_EQ(entries[i + 1].dso->Path(), fake_interpreter_path); in TEST_F() 219 ASSERT_EQ(entries[2].dso->Path(), fake_dex_file_path); in TEST_F() 224 ASSERT_EQ(entries[5].dso->Path(), fake_dex_file_path); in TEST_F() 245 ASSERT_EQ(entries[0].dso->Path(), fake_dex_file_path); in TEST_F() 267 ASSERT_EQ(entries[i].dso->Path(), fake_interpreter_path); in TEST_F() [all …]
|
D | report_utils.cpp | 187 return *is_jni_trampoline || android::base::EndsWith(entry.dso->Path(), "/libart.so") || in IsArtEntry() 188 android::base::EndsWith(entry.dso->Path(), "/libartd.so"); in IsArtEntry() 222 entry.dso = it->second.dso; in Modify() 230 if (i + 1 < callchain.size() && callchain[i + 1].dso == entry.dso && in Modify() 236 } else if (!JITDebugReader::IsPathInJITSymFile(entry.dso->Path())) { in Modify() 247 Dso* dso; member 249 JavaMethod(Dso* dso, const Symbol* symbol) : dso(dso), symbol(symbol) {} in JavaMethod() 255 for (Dso* dso : thread_tree_.GetAllDsos()) { in CollectJavaMethods() 256 if (dso->type() == DSO_DEX_FILE) { in CollectJavaMethods() 257 dso->LoadSymbols(); in CollectJavaMethods() [all …]
|
D | cmd_inject.cpp | 110 static uint64_t GetFirstLoadSegmentVaddr(const Dso* dso) { in GetFirstLoadSegmentVaddr() argument 112 if (auto elf = ElfFile::Open(dso->GetDebugFilePath(), &status); elf) { in GetFirstLoadSegmentVaddr() 184 const Dso* dso = p.first; in ProcessAutoFDOBinaryInfo() local 186 binary.first_load_segment_addr = GetFirstLoadSegmentVaddr(dso); in ProcessAutoFDOBinaryInfo() 187 autofdo_callback_(BinaryKey(dso, 0), binary); in ProcessAutoFDOBinaryInfo() 327 if (!binary_filter_.Filter(instr_range.dso)) { in ProcessInstrRange() 331 autofdo_binary_map_[instr_range.dso].AddInstrRange(instr_range); in ProcessInstrRange() 335 if (!binary_filter_.Filter(branch_list.dso)) { in ProcessETMBranchList() 339 auto& branch_map = etm_binary_map_[branch_list.dso].branch_map; in ProcessETMBranchList() 345 Dso* dso = p.first; in ProcessETMBinary() local [all …]
|
D | BranchListFile.h | 41 BinaryKey(const Dso* dso, uint64_t kernel_start_addr) : path(dso->Path()) { in BinaryKey() 42 build_id = Dso::FindExpectedBuildIdForPath(dso->Path()); in BinaryKey() 43 if (dso->type() == DSO_KERNEL) { in BinaryKey() 75 bool Filter(const Dso* dso) { in Filter() argument 76 auto lookup = dso_filter_cache_.find(dso); in Filter() 80 bool match = Filter(dso->Path()); in Filter() 81 dso_filter_cache_.insert({dso, match}); in Filter()
|
D | thread_tree.h | 44 Dso* dso; member 48 MapEntry(uint64_t start_addr, uint64_t len, uint64_t pgoff, Dso* dso, bool in_kernel, 53 dso(dso), in start_addr() 64 return dso->IpToVaddrInFile(addr, start_addr, pgoff); in GetVaddrInFile() 124 bool IsUnknownDso(const Dso* dso) const { return dso == unknown_dso_.get(); } in IsUnknownDso() argument 155 void AddThreadMapsForDsoSymbols(ThreadEntry* thread, Dso* dso);
|
D | ETMDecoder.h | 40 Dso* dso = nullptr; member 57 Dso* dso = nullptr; member 96 Dso* dso, const ETMBranchMap& branch_map, const ETMDecoder::InstrRangeCallbackFn& callback);
|
D | simpleperf_writer_fuzzer.cpp | 123 std::unique_ptr<Dso> dso = in process() local 126 dsos.push_back(dso.get()); in process() 165 for (Dso* dso : dsos) { in process() 166 delete dso; in process() 167 dso = nullptr; in process()
|
D | ETMDecoder.cpp | 273 llvm::MemoryBuffer* memory = GetMemoryBuffer(map->dso); in ReadTargetMemory() 275 if (auto opt_offset = map->dso->IpToFileOffset(address, map->start_addr, map->pgoff); in ReadTargetMemory() 312 llvm::MemoryBuffer* GetMemoryBuffer(Dso* dso) { in GetMemoryBuffer() argument 313 auto it = elf_map_.find(dso); in GetMemoryBuffer() 316 auto res = elf_map_.emplace(dso, ElfFile::Open(dso->GetDebugFilePath(), &status)); in GetMemoryBuffer() 471 instr_range.dso = map->dso; in ProcessElement() 504 if (data.instr_range.dso != nullptr) { in FlushData() 506 data.instr_range.dso = nullptr; in FlushData() 615 data.branch.dso = map->dso; in ProcessAtomPacket() 859 android::base::expected<void, std::string> Init(Dso* dso) { in Init() argument [all …]
|
D | environment_test.cpp | 44 std::unique_ptr<Dso> dso = in TEST() local 46 ASSERT_TRUE(dso != nullptr); in TEST() 47 ASSERT_NE(dso->GetDebugFilePath(), "[vdso]"); in TEST()
|
D | dso.cpp | 984 std::unique_ptr<Dso> dso; in CreateDsoWithBuildId() local 987 dso.reset(new ElfDso(dso_path, false)); in CreateDsoWithBuildId() 990 dso.reset(new KernelDso(dso_path)); in CreateDsoWithBuildId() 993 dso.reset(new KernelModuleDso(dso_path, 0, 0, nullptr)); in CreateDsoWithBuildId() 999 dso->debug_file_path_ = debug_elf_file_finder_.FindDebugFile(dso_path, false, build_id); in CreateDsoWithBuildId() 1000 return dso; in CreateDsoWithBuildId() 1034 bool GetBuildId(const Dso& dso, BuildId& build_id) { in GetBuildId() argument 1035 if (dso.type() == DSO_KERNEL) { in GetBuildId() 1039 } else if (dso.type() == DSO_KERNEL_MODULE) { in GetBuildId() 1041 if (android::base::EndsWith(dso.Path(), ".ko")) { in GetBuildId() [all …]
|
D | record_file_writer.cpp | 332 for (Dso* dso : dsos) { in WriteFileFeatures() 334 if (!dso->HasDumpId() && dso->type() != DSO_DEX_FILE) { in WriteFileFeatures() 338 file.path = dso->Path(); in WriteFileFeatures() 339 file.type = dso->type(); in WriteFileFeatures() 340 dso->GetMinExecutableVaddr(&file.min_vaddr, &file.file_offset_of_min_vaddr); in WriteFileFeatures() 344 const std::vector<Symbol>& symbols = dso->GetSymbols(); in WriteFileFeatures() 352 if (const auto dex_file_offsets = dso->DexFileOffsets(); dex_file_offsets != nullptr) { in WriteFileFeatures()
|
D | thread_tree_test.cpp | 54 names[i] = pair.second->dso->Path(); in CheckMaps() 63 ASSERT_TRUE(thread_tree_.IsUnknownDso(entry->dso)); in CheckMaps() 65 ASSERT_EQ(entry->dso->Path(), expected_names_[i]); in CheckMaps()
|
D | cmd_debug_unwind.cpp | 326 Dso* dso = entry.map->dso; in UnwindRecord() local 328 if (dso->Path() == record_filename_) { in UnwindRecord() 332 dso = p.first; in UnwindRecord() 334 if (!JITDebugReader::IsPathInJITSymFile(dso->Path())) { in UnwindRecord() 335 entry.vaddr_in_file = dso->IpToVaddrInFile(entry.ip, entry.map->start_addr, pgoff); in UnwindRecord() 337 entry.symbol = dso->FindSymbol(entry.vaddr_in_file); in UnwindRecord() 341 fprintf(out_fp_, "dso_%zu: %s\n", id, dso->Path().c_str()); in UnwindRecord() 413 map->len, map->pgoff, map->flags, map->dso->Path(), event_id, in WriteMapsForSample() 564 fprintf(out_fp_, "dso_%zu: %s\n", id, entry.map->dso->Path().c_str()); in ReportUnwindingResult()
|
D | cmd_record.cpp | 1693 Dso* dso = thread_tree_.FindUserDsoOrNew(info.file_path, 0, DSO_DEX_FILE); in ProcessJITDebugInfo() local 1694 dso->SetSymbols(&info.symbols); in ProcessJITDebugInfo() 2114 for (Dso* dso : dso_v) { in DumpBuildIdFeature() 2117 if (!dso->HasDumpId() && !event_selection_set_.HasAuxTrace()) { in DumpBuildIdFeature() 2120 if (GetBuildId(*dso, build_id)) { in DumpBuildIdFeature() 2121 bool in_kernel = dso->type() == DSO_KERNEL || dso->type() == DSO_KERNEL_MODULE; in DumpBuildIdFeature() 2122 build_id_records.emplace_back(in_kernel, UINT_MAX, build_id, dso->Path()); in DumpBuildIdFeature() 2135 for (Dso* dso : dso_v) { in DumpFileFeature() 2136 if (dso->type() == DSO_KERNEL_MODULE) { in DumpFileFeature() 2137 dso->CreateDumpId(); in DumpFileFeature() [all …]
|
D | SampleComparator.h | 59 BUILD_COMPARE_STRING_FUNCTION(CompareDso, map->dso->GetReportPath().data()); 61 BUILD_COMPARE_STRING_FUNCTION(CompareDsoFrom, branch_from.map->dso->GetReportPath().data());
|
D | cmd_report_sample.cpp | 680 return entry.dso->FileName() == "libc.so" && in IsThreadStartPoint() 709 if (thread_tree_.IsUnknownDso(callchain[i].dso)) { in ProcessSampleRecord() 798 if (!node.dso->GetDumpId(&file_id)) { in PrintSampleInProtobuf() 799 file_id = node.dso->CreateDumpId(); in PrintSampleInProtobuf() 804 symbol_id = node.dso->CreateSymbolDumpId(node.symbol); in PrintSampleInProtobuf() 922 for (Dso* dso : dsos) { in PrintFileInfoInProtobuf() 924 if (!dso->GetDumpId(&file_id)) { in PrintFileInfoInProtobuf() 930 file->set_path(std::string{dso->GetReportPath()}); in PrintFileInfoInProtobuf() 931 const std::vector<Symbol>& symbols = dso->GetSymbols(); in PrintFileInfoInProtobuf() 978 FprintIndented(report_fp_, 1, "file: %s\n", entries[0].dso->GetReportPath().data()); in PrintSample() [all …]
|
D | BranchListFile.cpp | 325 if (!binary_filter_.Filter(branch_list.dso)) { in ProcessBranchList() 328 auto& branch_map = branch_list_binary_map_[branch_list.dso].branch_map; in ProcessBranchList() 335 Dso* dso = p.first; in GetETMBinaryMap() local 337 binary.dso_type = dso->type(); in GetETMBinaryMap() 339 GetBuildId(*dso, build_id); in GetETMBinaryMap() 340 BinaryKey key(dso->Path(), build_id); in GetETMBinaryMap()
|
D | cmd_dumprecord.cpp | 47 Dso* dso; member 397 PrintIndented(2, "%s (%s[+%" PRIx64 "])\n", s.symbol->DemangledName(), s.dso->Path().c_str(), in ProcessSampleRecord() 409 from_symbol.symbol->DemangledName(), from_symbol.dso->Path().c_str(), in ProcessSampleRecord() 411 to_symbol.dso->Path().c_str(), to_symbol.vaddr_in_file); in ProcessSampleRecord() 433 PrintIndented(2, "%s (%s[+%" PRIx64 "])\n", s.symbol->DemangledName(), s.dso->Path().c_str(), in ProcessCallChainRecord() 448 info.symbol = thread_tree_.FindSymbol(map, ip, &info.vaddr_in_file, &info.dso); in GetSymbolInfo()
|
/system/extras/simpleperf/scripts/test/ |
D | tools_test.py | 112 dso = addr2line.get_dso(dso_path) 113 self.assertIsNotNone(dso, dso_path) 132 actual_source = addr2line.get_addr_source(dso, test_addr['addr']) 177 dso = Addr2Nearestline.Dso(None) 180 addr_map = addr2line.parse_line_output(output, dso) 199 file_path = dso.file_id_to_name[source[0]] 245 dso = test_map[dso_path] 248 addr_range = AddrRange(dso['start_addr'], dso['len']) 251 self._check_disassembly(disassembly, dso_path, dso) 256 self._check_disassembly(result[0], dso_path, dso) [all …]
|
/system/extras/simpleperf/scripts/inferno/ |
D | data_types.py | 20 def __init__(self, method, dso): argument 22 self.dso = dso 88 def __init__(self, method, dso, callsite_id): argument 93 self.dso = dso 109 key = (callsite.dso, callsite.method) 112 child = self.child_dict[key] = FlameGraphCallSite(callsite.method, callsite.dso,
|
/system/extras/simpleperf/scripts/ |
D | simpleperf_utils.py | 548 dso = self.dso_map.get(dso_path) 549 if dso is None: 550 dso = self.dso_map[dso_path] = self.Dso(build_id) 551 if addr not in dso.addrs: 552 dso.addrs[addr] = self.Addr(func_addr) 557 for dso_path, dso in self.dso_map.items(): 558 futures.append(executor.submit(self._convert_addrs_in_one_dso, dso_path, dso)) 563 def _convert_addrs_in_one_dso(self, dso_path: str, dso: Addr2Nearestline.Dso): 564 real_path = self.binary_finder.find_binary(dso_path, dso.build_id) 575 self._collect_line_info(dso, real_path, [0]) [all …]
|
D | debug_unwind_reporter.py | 47 self.dso = '' 70 self._get_callchain_node(callchain_id).dso = value 90 if node.dso.endswith('libc.so') and (node.symbol in ('__libc_init', '__start_thread')): 108 return sample.callchain[-1].dso in self.end_dso 203 symbol_key = (sample.callchain[-1].dso, sample.callchain[-1].symbol) 226 dso, symbol = symbol_key 227 table.add_row([count, error_code, dso, symbol])
|
/system/nvram/hal/ |
D | testing_module.c | 37 .dso = 0,
|