Lines Matching defs:bindings
429 // we only need to encode the differences between bindings. Hence the use of
556 // Non-weak bindings need to have their dylib ordinal encoded as well.
592 // Organize the bindings so we can encoded them with fewer opcodes.
594 // First, all bindings for a given symbol should be grouped together.
598 // Within each group, we sort the bindings by address. Since bindings are
600 // sorting by address alone ensures that bindings for the same segment / section
612 std::vector<BindingEntry> &bindings = p.second;
613 llvm::sort(bindings, [](const BindingEntry &a, const BindingEntry &b) {
635 // subsequent opcodes only need to encode the differences between bindings.
643 std::vector<BindingEntry> &bindings = p.second;
655 for (const BindingEntry &b : bindings)
684 std::vector<BindingEntry> &bindings = p.second;
689 for (const BindingEntry &b : bindings)
2317 auto [it, inserted] = bindings.insert(
2318 {{sym, outlineAddend}, static_cast<uint32_t>(bindings.size())});
2333 auto it = bindings.find({sym, outlineAddend});
2334 assert(it != bindings.end() && "binding not found in the imports table");
2422 header->imports_count = bindings.size();
2456 for (auto [import, idx] : bindings) {
2465 for (auto [import, idx] : bindings) {
2484 bool needsLargeOrdinal = any_of(bindings, [](const auto &p) {
2533 size += importEntrySize(importFormat) * bindings.size();