Lines Matching full:patch
26 ForcePatch("force-patch",
51 // Calculate the size of the patch. in runOnFunctions()
62 // Patch original code only for functions that will be emitted. in runOnFunctions()
71 // List of patches for function entries. We either successfully patch in runOnFunctions()
72 // all entries or, if we cannot patch one or more, do no patch any and in runOnFunctions()
74 std::vector<Patch> PendingPatches; in runOnFunctions()
76 uint64_t NextValidByte = 0; // offset of the byte past the last patch in runOnFunctions()
81 BC.outs() << "BOLT-INFO: unable to patch entry point in " << Function in runOnFunctions()
86 PendingPatches.emplace_back(Patch{Symbol, Function.getAddress() + Offset, in runOnFunctions()
93 << " too small to patch its entry point\n"; in runOnFunctions()
104 BC.errs() << "BOLT-ERROR: unable to patch entries in " << Function in runOnFunctions()
114 BC.errs() << "BOLT-WARNING: failed to patch entries in " << Function in runOnFunctions()
120 for (Patch &Patch : PendingPatches) { in runOnFunctions()
122 NameResolver::append(Patch.Symbol->getName(), ".org.0")); in runOnFunctions()
124 PatchFunction->setOutputAddress(Patch.Address); in runOnFunctions()
125 PatchFunction->setFileOffset(Patch.FileOffset); in runOnFunctions()
126 PatchFunction->setOriginSection(Patch.Section); in runOnFunctions()
129 BC.MIB->createLongTailCall(Seq, Patch.Symbol, BC.Ctx.get()); in runOnFunctions()
136 assert(HotSize <= PatchSize && "max patch size exceeded"); in runOnFunctions()