Lines Matching refs:indexes
162 Symtab::Dump(Stream *s, Target *target, std::vector<uint32_t>& indexes) const
169 s->Printf("Symtab %lu symbol indexes (%lu symbols total):\n", indexes.size(), m_symbols.size());
172 if (!indexes.empty())
175 std::vector<uint32_t>::const_iterator end = indexes.end();
177 for (pos = indexes.begin(); pos != end; ++pos)
444 Symtab::AppendSymbolNamesToMap (const IndexCollection &indexes,
456 const size_t num_indexes = indexes.size();
459 entry.value = indexes[i];
482 Symtab::AppendSymbolIndexesWithType (SymbolType symbol_type, std::vector<uint32_t>& indexes, uint32_t start_idx, uint32_t end_index) const
486 uint32_t prev_size = indexes.size();
493 indexes.push_back(i);
496 return indexes.size() - prev_size;
500 Symtab::AppendSymbolIndexesWithTypeAndFlagsValue (SymbolType symbol_type, uint32_t flags_value, std::vector<uint32_t>& indexes, uint32_t start_idx, uint32_t end_index) const
504 uint32_t prev_size = indexes.size();
511 indexes.push_back(i);
514 return indexes.size() - prev_size;
518 Symtab::AppendSymbolIndexesWithType (SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& indexes, uint32_t start_idx, uint32_t end_index) const
522 uint32_t prev_size = indexes.size();
531 indexes.push_back(i);
535 return indexes.size() - prev_size;
605 Symtab::SortSymbolIndexesByValue (std::vector<uint32_t>& indexes, bool remove_duplicates) const
611 if (indexes.size() <= 1)
614 // Sort the indexes in place using std::stable_sort.
616 // not correctness. The indexes vector tends to be "close" to sorted, which the
622 std::stable_sort(indexes.begin(), indexes.end(), comparator);
626 std::unique(indexes.begin(), indexes.end());
630 Symtab::AppendSymbolIndexesWithName (const ConstString& symbol_name, std::vector<uint32_t>& indexes)
641 return m_name_to_index.GetValues (symbol_cstr, indexes);
647 Symtab::AppendSymbolIndexesWithName (const ConstString& symbol_name, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& indexes)
654 const size_t old_size = indexes.size();
665 indexes.push_back (all_name_indexes[i]);
667 return indexes.size() - old_size;
673 Symtab::AppendSymbolIndexesWithNameAndType (const ConstString& symbol_name, SymbolType symbol_type, std::vector<uint32_t>& indexes)
677 if (AppendSymbolIndexesWithName(symbol_name, indexes) > 0)
679 std::vector<uint32_t>::iterator pos = indexes.begin();
680 while (pos != indexes.end())
685 indexes.erase(pos);
688 return indexes.size();
692 Symtab::AppendSymbolIndexesWithNameAndType (const ConstString& symbol_name, SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& indexes)
696 if (AppendSymbolIndexesWithName(symbol_name, symbol_debug_type, symbol_visibility, indexes) > 0)
698 std::vector<uint32_t>::iterator pos = indexes.begin();
699 while (pos != indexes.end())
704 indexes.erase(pos);
707 return indexes.size();
712 Symtab::AppendSymbolIndexesMatchingRegExAndType (const RegularExpression ®exp, SymbolType symbol_type, std::vector<uint32_t>& indexes)
716 uint32_t prev_size = indexes.size();
727 indexes.push_back(i);
731 return indexes.size() - prev_size;
736 Symtab::AppendSymbolIndexesMatchingRegExAndType (const RegularExpression ®exp, SymbolType symbol_type, Debug symbol_debug_type, Visibility symbol_visibility, std::vector<uint32_t>& indexes)
740 uint32_t prev_size = indexes.size();
754 indexes.push_back(i);
758 return indexes.size() - prev_size;
788 // Initialize all of the lookup by name indexes before converting NAME
808 // Initialize all of the lookup by name indexes before converting NAME
925 FindIndexPtrForSymbolContainingAddress(Symtab* symtab, addr_t file_addr, const uint32_t* indexes, uint32_t num_indexes)
929 indexes,
1032 Symtab::FindSymbolContainingFileAddress (addr_t file_addr, const uint32_t* indexes, uint32_t num_indexes)
1040 indexes,