Lines Matching defs:unit

58     DWARFUnit *unit = main_info.GetUnitAtIndex(U);
59 if (unit && m_units_to_avoid.count(unit->GetOffset()) == 0)
60 units_to_index.push_back(unit);
79 // Include 2 passes per unit to index for extracting DIEs from the unit and
80 // indexing the unit, and then 8 extra entries for finalizing each index set.
91 // Run a function for each compile unit in parallel using as many threads as
93 // each unit.
112 // Extract dies for all DWARFs unit in parallel. Figure out which units
117 // in one unit refers to another and the indexes accesses those DIEs.
120 for_each_unit([&clear_cu_dies](size_t, size_t idx, DWARFUnit *unit) {
121 clear_cu_dies[idx] = unit->ExtractDIEsScoped();
124 // Now index all DWARF unit in parallel.
127 [this, dwp_dwarf, &sets](size_t worker_id, size_t, DWARFUnit *unit) {
128 IndexUnit(*unit, dwp_dwarf, sets[worker_id]);
154 void ManualDWARFIndex::IndexUnit(DWARFUnit &unit, SymbolFileDWARFDwo *dwp,
160 log, "ManualDWARFIndex::IndexUnit for unit at .debug_info[{0:x16}]",
161 unit.GetOffset());
164 const LanguageType cu_language = SymbolFileDWARF::GetLanguage(unit);
166 // First check if the unit has a DWO ID. If it does then we only want to index
167 // the .dwo file or nothing at all. If we have a compile unit where we can't
169 // compile unit because it is usally has no children unless
175 // function types. Types can still exist in the skeleton compile unit DWARF
179 // we don't have to index incomplete types from the skeleton compile unit.
180 if (unit.GetDWOId()) {
181 // Index the .dwo or dwp instead of the skeleton unit.
182 if (SymbolFileDWARFDwo *dwo_symbol_file = unit.GetDwoSymbolFile()) {
184 // process the split unit here. However, if the split unit is in a dwo
187 IndexUnitImpl(unit.GetNonSkeletonUnit(), cu_language, set);
196 if (unit.GetVersion() >= 5 && unit.IsSkeletonUnit())
203 if (unit.GetDIE(unit.GetFirstDIEOffset()).GetFirstChild().Tag() !=
207 // We have a normal compile unit which we want to index.
208 IndexUnitImpl(unit, cu_language, set);
211 void ManualDWARFIndex::IndexUnitImpl(DWARFUnit &unit,
214 for (const DWARFDebugInfoEntry &die : unit.dies()) {
239 if (unit.GetVersion() >= 5)
255 DWARFAttributes attributes = die.GetAttributes(&unit);
302 DIERef ref = *DWARFDIE(&unit, &die).GetDIERef();
336 bool is_method = DWARFDIE(&unit, &die).IsMethod();
390 parent_is_class_type = DWARFDIE(&unit, parent).IsStructUnionOrClass();
435 DWARFUnit &unit, llvm::function_ref<bool(DWARFDIE die)> callback) {
437 m_set.globals.FindAllEntriesForUnit(unit, DIERefCallback(callback));