Lines Matching defs:indexes
171 void Symtab::Dump(Stream *s, Target *target, std::vector<uint32_t> &indexes,
178 s->Printf("Symtab %" PRIu64 " symbol indexes (%" PRIu64 " symbols total):\n",
179 (uint64_t)indexes.size(), (uint64_t)m_symbols.size());
182 if (!indexes.empty()) {
184 std::vector<uint32_t>::const_iterator end = indexes.end();
186 for (pos = indexes.begin(); pos != end; ++pos) {
471 void Symtab::AppendSymbolNamesToMap(const IndexCollection &indexes,
479 const size_t num_indexes = indexes.size();
481 uint32_t value = indexes[i];
500 std::vector<uint32_t> &indexes,
505 uint32_t prev_size = indexes.size();
511 indexes.push_back(i);
514 return indexes.size() - prev_size;
519 std::vector<uint32_t> &indexes, uint32_t start_idx,
523 uint32_t prev_size = indexes.size();
531 indexes.push_back(i);
534 return indexes.size() - prev_size;
540 std::vector<uint32_t> &indexes,
545 uint32_t prev_size = indexes.size();
553 indexes.push_back(i);
557 return indexes.size() - prev_size;
625 void Symtab::SortSymbolIndexesByValue(std::vector<uint32_t> &indexes,
630 if (indexes.size() <= 1)
633 // Sort the indexes in place using std::stable_sort.
635 // for performance, not correctness. The indexes vector tends to be "close"
641 std::stable_sort(indexes.begin(), indexes.end(), comparator);
645 auto last = std::unique(indexes.begin(), indexes.end());
646 indexes.erase(last, indexes.end());
651 std::vector<uint32_t> &indexes) {
653 const uint32_t count = name_to_index.GetValues(symbol_name, indexes);
656 // Synthetic symbol names are not added to the name indexes, but they start
658 // these symbols without having to add them to the name indexes. These
676 indexes.push_back(symbol_idx);
681 std::vector<uint32_t> &indexes) {
688 return GetNameIndexes(symbol_name, indexes);
696 std::vector<uint32_t> &indexes) {
701 const size_t old_size = indexes.size();
711 indexes.push_back(all_name_indexes[i]);
713 return indexes.size() - old_size;
721 std::vector<uint32_t> &indexes) {
724 if (AppendSymbolIndexesWithName(symbol_name, indexes) > 0) {
725 std::vector<uint32_t>::iterator pos = indexes.begin();
726 while (pos != indexes.end()) {
731 pos = indexes.erase(pos);
734 return indexes.size();
740 std::vector<uint32_t> &indexes) {
744 symbol_visibility, indexes) > 0) {
745 std::vector<uint32_t>::iterator pos = indexes.begin();
746 while (pos != indexes.end()) {
751 pos = indexes.erase(pos);
754 return indexes.size();
759 std::vector<uint32_t> &indexes, Mangled::NamePreference name_preference) {
762 uint32_t prev_size = indexes.size();
772 indexes.push_back(i);
776 return indexes.size() - prev_size;
782 std::vector<uint32_t> &indexes, Mangled::NamePreference name_preference) {
785 uint32_t prev_size = indexes.size();
798 indexes.push_back(i);
802 return indexes.size() - prev_size;
830 // Initialize all of the lookup by name indexes before converting NAME to a
848 // Initialize all of the lookup by name indexes before converting NAME to a
1189 InitNameIndexes(); // Init the name indexes so we can cache them as well.
1225 // No empty strings in the name indexes in Symtab
1257 // Name indexes must be computed before calling this function.