/system/extras/simpleperf/ |
D | dso_test.cpp | 152 TEST(dso, dex_file_dso) { in TEST() argument 155 std::unique_ptr<Dso> dso = Dso::CreateDso(dso_type, GetTestData("base.vdex")); in TEST() local 156 ASSERT_TRUE(dso); in TEST() 157 dso->AddDexFileOffset(0x28); in TEST() 158 ASSERT_EQ(DSO_DEX_FILE, dso->type()); in TEST() 159 const Symbol* symbol = dso->FindSymbol(0x6c77e); in TEST() 167 dso->GetMinExecutableVaddr(&min_vaddr, &file_offset_of_min_vaddr); in TEST() 172 dso = Dso::CreateDso(dso_type, GetTestData("base.zip!/not_exist_entry")); in TEST() 173 ASSERT_TRUE(dso); in TEST() 174 ASSERT_EQ(nullptr, dso->FindSymbol(0)); in TEST() [all …]
|
D | report_utils.cpp | 28 if (android::base::EndsWith(entry.dso->Path(), "/libart.so") || in IsArtEntry() 29 android::base::EndsWith(entry.dso->Path(), "/libartd.so")) { in IsArtEntry() 97 Dso* dso = map->dso; in Build() local 99 const Symbol* symbol = thread_tree_.FindSymbol(map, ips[i], &vaddr_in_file, &dso); in Build() 101 if (dso->IsForJavaMethod()) { in Build() 102 if (dso->type() == DSO_DEX_FILE) { in Build() 112 entry.dso = dso; in Build() 175 if (entry.dso->IsForJavaMethod() && entry.dso->type() == DSO_ELF_FILE) { in ConvertJITFrame() 180 entry.dso = it->second.dso; in ConvertJITFrame() 188 if (i + 1 < callchain.size() && callchain[i + 1].dso == entry.dso && in ConvertJITFrame() [all …]
|
D | thread_tree.cpp | 131 Dso* dso; in AddKernelMap() local 133 dso = FindKernelDsoOrNew(); in AddKernelMap() 135 dso = FindKernelModuleDsoOrNew(filename, start_addr, start_addr + len); in AddKernelMap() 137 InsertMap(kernel_maps_, MapEntry(start_addr, len, pgoff, dso, true)); in AddKernelMap() 161 Dso* dso = FindUserDsoOrNew(filename, start_addr); in AddThreadMap() local 162 InsertMap(*thread->maps, MapEntry(start_addr, len, pgoff, dso, false, flags)); in AddThreadMap() 165 void ThreadTree::AddThreadMapsForDsoSymbols(ThreadEntry* thread, Dso* dso) { in AddThreadMapsForDsoSymbols() argument 174 for (const auto& sym : dso->GetSymbols()) { in AddThreadMapsForDsoSymbols() 180 InsertMap(*maps, MapEntry(map_start, map_end - map_start, map_start, dso, false, 0)); in AddThreadMapsForDsoSymbols() 190 InsertMap(*maps, MapEntry(map_start, map_end - map_start, map_start, dso, false, 0)); in AddThreadMapsForDsoSymbols() [all …]
|
D | cmd_inject.cpp | 281 bool FilterDso(Dso* dso) { in FilterDso() argument 282 auto lookup = dso_filter_cache.find(dso); in FilterDso() 286 bool match = std::regex_search(dso->Path(), binary_name_regex_); in FilterDso() 287 dso_filter_cache.insert({dso, match}); in FilterDso() 292 if (!FilterDso(instr_range.dso)) { in ProcessInstrRange() 296 auto& binary = autofdo_binary_map_[instr_range.dso]; in ProcessInstrRange() 306 if (!FilterDso(branch_list.dso)) { in ProcessBranchList() 310 ++branch_list_binary_map_[branch_list.dso][branch_list.addr][branch_list.branch]; in ProcessBranchList() 336 auto check_build_id = [](Dso* dso, const BuildId& expected_build_id) { in ProcessBranchListFile() argument 341 return GetBuildIdFromDsoPath(dso->GetDebugFilePath(), &build_id) && in ProcessBranchListFile() [all …]
|
D | report_utils_test.cpp | 121 ASSERT_EQ(entries[0].dso->Path(), fake_dex_file_path); in TEST_F() 126 ASSERT_EQ(entries[1].dso->Path(), fake_dex_file_path); in TEST_F() 141 ASSERT_EQ(entries[0].dso->Path(), fake_dex_file_path); in TEST_F() 146 ASSERT_EQ(entries[1].dso->Path(), fake_jit_cache_path); in TEST_F() 162 ASSERT_EQ(entries[i].dso->Path(), fake_interpreter_path); in TEST_F() 167 ASSERT_EQ(entries[i + 1].dso->Path(), fake_interpreter_path); in TEST_F() 173 ASSERT_EQ(entries[2].dso->Path(), fake_dex_file_path); in TEST_F() 178 ASSERT_EQ(entries[5].dso->Path(), fake_dex_file_path); in TEST_F() 198 ASSERT_EQ(entries[0].dso->Path(), fake_dex_file_path); in TEST_F() 219 ASSERT_EQ(entries[i].dso->Path(), fake_interpreter_path); in TEST_F() [all …]
|
D | report_utils.h | 42 Dso* dso = nullptr; member 65 Dso* dso; member 67 JavaMethod(Dso* dso, const Symbol* symbol) : dso(dso), symbol(symbol) {} in JavaMethod()
|
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() 123 bool IsUnknownDso(const Dso* dso) const { return dso == unknown_dso_.get(); } in IsUnknownDso() argument 153 void AddThreadMapsForDsoSymbols(ThreadEntry* thread, Dso* dso);
|
D | ETMDecoder.h | 40 Dso* dso = nullptr; member 57 Dso* dso = nullptr; member 87 Dso* dso, const BranchMap& branch_map, const ETMDecoder::InstrRangeCallbackFn& callback);
|
D | ETMDecoder.cpp | 259 llvm::MemoryBuffer* memory = GetMemoryBuffer(map->dso); in ReadTargetMemory() 261 if (auto opt_offset = map->dso->IpToFileOffset(address, map->start_addr, map->pgoff); in ReadTargetMemory() 286 llvm::MemoryBuffer* GetMemoryBuffer(Dso* dso) { in GetMemoryBuffer() argument 287 auto it = elf_map_.find(dso); in GetMemoryBuffer() 290 auto res = elf_map_.emplace(dso, ElfFile::Open(dso->GetDebugFilePath(), &status)); in GetMemoryBuffer() 444 instr_range.dso = map->dso; in ProcessElement() 477 if (data.instr_range.dso != nullptr) { in FlushData() 479 data.instr_range.dso = nullptr; in FlushData() 588 data.branch.dso = map->dso; in ProcessAtomPacket() 788 android::base::expected<void, std::string> Init(Dso* dso) { in Init() argument [all …]
|
D | environment_test.cpp | 43 std::unique_ptr<Dso> dso = in TEST() local 45 ASSERT_TRUE(dso != nullptr); in TEST() 46 ASSERT_NE(dso->GetDebugFilePath(), "[vdso]"); in TEST()
|
D | cmd_record.cpp | 1848 for (Dso* dso : dso_v) { in DumpBuildIdFeature() 1851 if (!dso->HasDumpId() && !event_selection_set_.HasAuxTrace()) { in DumpBuildIdFeature() 1854 if (dso->type() == DSO_KERNEL) { in DumpBuildIdFeature() 1858 build_id_records.push_back(BuildIdRecord(true, UINT_MAX, build_id, dso->Path())); in DumpBuildIdFeature() 1859 } else if (dso->type() == DSO_KERNEL_MODULE) { in DumpBuildIdFeature() 1861 if (android::base::EndsWith(dso->Path(), ".ko")) { in DumpBuildIdFeature() 1862 has_build_id = GetBuildIdFromDsoPath(dso->Path(), &build_id); in DumpBuildIdFeature() 1863 } else if (const std::string& path = dso->Path(); in DumpBuildIdFeature() 1869 build_id_records.push_back(BuildIdRecord(true, UINT_MAX, build_id, dso->Path())); in DumpBuildIdFeature() 1871 LOG(DEBUG) << "Can't read build_id for module " << dso->Path(); in DumpBuildIdFeature() [all …]
|
D | thread_tree_test.cpp | 53 names[i] = pair.second->dso->Path(); in CheckMaps() 62 ASSERT_TRUE(thread_tree_.IsUnknownDso(entry->dso)); in CheckMaps() 64 ASSERT_EQ(entry->dso->Path(), expected_names_[i]); in CheckMaps()
|
D | record_file_writer.cpp | 327 for (Dso* dso : dsos) { in WriteFileFeatures() 329 if (!dso->HasDumpId() && dso->type() != DSO_DEX_FILE) { in WriteFileFeatures() 333 file.path = dso->Path(); in WriteFileFeatures() 334 file.type = dso->type(); in WriteFileFeatures() 335 dso->GetMinExecutableVaddr(&file.min_vaddr, &file.file_offset_of_min_vaddr); in WriteFileFeatures() 339 const std::vector<Symbol>& symbols = dso->GetSymbols(); in WriteFileFeatures() 347 if (const auto dex_file_offsets = dso->DexFileOffsets(); dex_file_offsets != nullptr) { in WriteFileFeatures()
|
D | cmd_report_sample.cpp | 566 if (thread_tree_.IsUnknownDso(entries[i].dso)) { in ProcessSampleRecord() 592 if (!node.dso->GetDumpId(&file_id)) { in PrintSampleRecordInProtobuf() 593 file_id = node.dso->CreateDumpId(); in PrintSampleRecordInProtobuf() 598 symbol_id = node.dso->CreateSymbolDumpId(node.symbol); in PrintSampleRecordInProtobuf() 613 if (node.dso->FileName() == "libc.so" && (strcmp(node.symbol->Name(), "__libc_init") == 0 || in PrintSampleRecordInProtobuf() 708 for (Dso* dso : dsos) { in PrintFileInfoInProtobuf() 710 if (!dso->GetDumpId(&file_id)) { in PrintFileInfoInProtobuf() 716 file->set_path(std::string{dso->GetReportPath()}); in PrintFileInfoInProtobuf() 717 const std::vector<Symbol>& symbols = dso->GetSymbols(); in PrintFileInfoInProtobuf() 765 FprintIndented(report_fp_, 1, "file: %s\n", entries[0].dso->GetReportPath().data()); in PrintSampleRecord() [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_debug_unwind.cpp | 299 fprintf(out_fp_, "dso_%zu: %s\n", id, entry.map->dso->Path().c_str()); in UnwindRecord() 315 const std::string& path = old_map->dso->Path(); in CreateThreadWithUpdatedMaps() 320 map->dso = recording_file_dso_.get(); in CreateThreadWithUpdatedMaps() 321 if (JITDebugReader::IsPathInJITSymFile(old_map->dso->Path())) { in CreateThreadWithUpdatedMaps() 396 if (!thread_tree_.IsUnknownDso(map->dso)) { in WriteMapsForSample() 398 map->len, map->pgoff, map->flags, map->dso->Path(), event_id, in WriteMapsForSample() 545 fprintf(out_fp_, "dso_%zu: %s\n", id, entry.map->dso->Path().c_str()); in ReportUnwindingResult()
|
D | cmd_monitor.cpp | 65 Dso* dso; member 536 s.dso->Path().c_str(), s.vaddr_in_file); in DumpSampleRecord() 557 s.dso->Path().c_str(), s.vaddr_in_file); in DumpSampleCallchain() 568 info.symbol = thread_tree_.FindSymbol(map, ip, &info.vaddr_in_file, &info.dso); in GetSymbolInfo()
|
D | OfflineUnwinder.cpp | 146 const char* name = entry->dso->GetDebugFilePath().data(); in CreateMapInfo() 148 auto tuple = SplitUrlInApk(entry->dso->GetDebugFilePath()); in CreateMapInfo() 159 const std::string& path = entry->dso->GetDebugFilePath(); in CreateMapInfo()
|
/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,
|
D | svg_renderer.py | 76 r, g, b = get_dso_color(callsite.dso) 99 callsite.dso,
|
/system/extras/simpleperf/scripts/test/ |
D | tools_test.py | 106 dso = addr2line.get_dso(dso_path) 107 self.assertIsNotNone(dso, dso_path) 126 actual_source = addr2line.get_addr_source(dso, test_addr['addr']) 181 dso = test_map[dso_path] 184 disassemble_code = objdump.disassemble_code(dso_info, dso['start_addr'], dso['len']) 187 for expected_line, expected_addr in dso['expected_items']:
|
/system/extras/simpleperf/scripts/ |
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])
|
D | simpleperf_utils.py | 569 dso = self.dso_map.get(dso_path) 570 if dso is None: 571 dso = self.dso_map[dso_path] = self.Dso(build_id) 572 if addr not in dso.addrs: 573 dso.addrs[addr] = self.Addr(func_addr) 576 for dso_path, dso in self.dso_map.items(): 577 self._convert_addrs_in_one_dso(dso_path, dso) 579 def _convert_addrs_in_one_dso(self, dso_path: str, dso: Addr2Nearestline.Dso): 580 real_path = self.binary_finder.find_binary(dso_path, dso.build_id) 591 self._collect_line_info(dso, real_path, [0]) [all …]
|
D | pprof_proto_generator.py | 512 dso = addr2line.get_dso(dso_name) 513 if not dso: 515 sources = addr2line.get_addr_source(dso, location.vaddr_in_dso) 531 dso = addr2line.get_dso(dso_name) 532 if not dso: 534 sources = addr2line.get_addr_source(dso, function.vaddr_in_dso) 630 config['dso_filters'] = flatten_arg_list(args.dso)
|
/system/nvram/hal/ |
D | testing_module.c | 37 .dso = 0,
|