Lines Matching defs:G
28 bool hasInitializerSection(jitlink::LinkGraph &G) {
29 bool IsMachO = G.getTargetTriple().isOSBinFormatMachO();
30 bool IsElf = G.getTargetTriple().isOSBinFormatELF();
34 for (auto &Sec : G.sections()) {
80 Create(ObjectLinkingLayer &ObjLinkingLayer, std::unique_ptr<LinkGraph> G) {
81 auto LGI = scanLinkGraph(ObjLinkingLayer.getExecutionSession(), *G);
83 new LinkGraphMaterializationUnit(ObjLinkingLayer, std::move(G),
87 StringRef getName() const override { return G->getName(); }
89 ObjLinkingLayer.emit(std::move(MR), std::move(G));
93 static Interface scanLinkGraph(ExecutionSession &ES, LinkGraph &G) {
107 for (auto *Sym : G.defined_symbols())
109 for (auto *Sym : G.absolute_symbols())
112 if (hasInitializerSection(G))
113 LGI.InitSymbol = makeInitSymbol(ES, G);
118 static SymbolStringPtr makeInitSymbol(ExecutionSession &ES, LinkGraph &G) {
121 << "$." << G.getName() << ".__inits" << Counter++;
126 std::unique_ptr<LinkGraph> G, Interface LGI)
128 G(std::move(G)) {}
131 for (auto *Sym : G->defined_symbols())
135 G->makeExternal(*Sym);
141 std::unique_ptr<LinkGraph> G;
173 void notifyMaterializing(LinkGraph &G) {
175 P->notifyMaterializing(*MR, G, *this,
233 Error notifyResolved(LinkGraph &G) override {
240 for (auto *Sym : G.defined_symbols())
243 auto Ptr = getJITSymbolPtrForSymbol(*Sym, G.getTargetTriple());
253 for (auto *Sym : G.absolute_symbols())
256 auto Ptr = getJITSymbolPtrForSymbol(*Sym, G.getTargetTriple());
301 Layer.getExecutionSession().getSymbolStringPool(), G.getName(),
316 Layer.getExecutionSession().getSymbolStringPool(), G.getName(),
340 return [this](LinkGraph &G) { return markResponsibilitySymbolsLive(G); };
346 Config.PrePrunePasses.push_back([this](LinkGraph &G) {
347 return claimOrExternalizeWeakAndCommonSymbols(G);
354 [this](LinkGraph &G) { return registerDependencies(G); });
461 Error claimOrExternalizeWeakAndCommonSymbols(LinkGraph &G) {
479 for (auto *Sym : G.defined_symbols())
481 for (auto *Sym : G.absolute_symbols())
497 G.makeExternal(*KV.second);
503 Error markResponsibilitySymbolsLive(LinkGraph &G) const {
505 for (auto *Sym : G.defined_symbols())
511 Error registerDependencies(LinkGraph &G) {
514 auto BlockDeps = computeBlockNonLocalDeps(G);
520 for (auto *Sym : G.defined_symbols()) {
600 BlockDependenciesMap computeBlockNonLocalDeps(LinkGraph &G) {
612 for (auto *B : G.blocks())
617 for (auto *B : G.blocks()) {
706 std::unique_ptr<LinkGraph> G) {
708 return JD.define(LinkGraphMaterializationUnit::Create(*this, std::move(G)),
719 if (auto G = createLinkGraphFromObject(ObjBuffer)) {
720 Ctx->notifyMaterializing(**G);
721 link(std::move(*G), std::move(Ctx));
723 Ctx->notifyFailed(G.takeError());
728 std::unique_ptr<LinkGraph> G) {
731 Ctx->notifyMaterializing(*G);
732 link(std::move(G), std::move(Ctx));
796 MaterializationResponsibility &MR, LinkGraph &G,
800 G.getTargetTriple(), [this, &MR](ExecutorAddr Addr, size_t Size) {