Lines Matching defs:JD
94 Error setupJITDylib(JITDylib &JD) override;
95 Error teardownJITDylib(JITDylib &JD) override;
158 Error setupJITDylib(JITDylib &JD) {
166 cantFail(JD.define(absoluteSymbols(std::move(PerJDInterposes))));
175 ConstantInt::get(Int64Ty, reinterpret_cast<uintptr_t>(&JD)),
179 ConstantInt::get(Int64Ty, ExecutorAddr::fromPtr(&JD).getValue()));
202 return J.addIRModule(JD, ThreadSafeModule(std::move(M), std::move(Ctx)));
206 auto &JD = RT.getJITDylib();
208 InitSymbols[&JD].add(InitSym, SymbolLookupFlags::WeaklyReferencedSymbol);
217 InitSymbols[&JD].add(KV.first,
219 InitFunctions[&JD].add(KV.first);
221 DeInitFunctions[&JD].add(KV.first);
227 Error initialize(JITDylib &JD) override {
231 if (auto Initializers = getInitializers(JD)) {
247 Error deinitialize(JITDylib &JD) override {
251 if (auto Deinitializers = getDeinitializers(JD)) {
269 void registerInitFunc(JITDylib &JD, SymbolStringPtr InitName) {
271 InitFunctions[&JD].add(InitName);
275 void registerDeInitFunc(JITDylib &JD, SymbolStringPtr DeInitName) {
277 [&]() { DeInitFunctions[&JD].add(DeInitName); });
281 Expected<std::vector<ExecutorAddr>> getInitializers(JITDylib &JD) {
282 if (auto Err = issueInitLookups(JD))
289 if (auto DFSLinkOrderOrErr = JD.getDFSLinkOrder())
307 for (auto &JD : llvm::reverse(DFSLinkOrder))
308 dbgs() << "\"" << JD->getName() << "\" ";
335 Expected<std::vector<ExecutorAddr>> getDeinitializers(JITDylib &JD) {
344 if (auto DFSLinkOrderOrErr = JD.getDFSLinkOrder())
365 for (auto &JD : DFSLinkOrder)
366 dbgs() << "\"" << JD->getName() << "\" ";
382 "Every JD should have at least __lljit_run_atexits");
396 /// Issue lookups for all init symbols required to initialize JD (and any
398 Error issueInitLookups(JITDylib &JD) {
403 if (auto DFSLinkOrderOrErr = JD.getDFSLinkOrder())
427 dbgs() << "Registering cxa atexit function " << (void *)F << " for JD "
436 dbgs() << "Registering atexit function " << (void *)F << " for JD "
445 dbgs() << "Running atexit functions for JD "
492 Error GenericLLVMIRPlatform::setupJITDylib(JITDylib &JD) {
493 return S.setupJITDylib(JD);
496 Error GenericLLVMIRPlatform::teardownJITDylib(JITDylib &JD) {
581 Error initialize(JITDylib &JD) override {
583 << JD.getName() << "\n");
587 Error deinitialize(JITDylib &JD) override {
590 << JD.getName() << "\n");
600 Error ORCPlatformSupport::initialize(orc::JITDylib &JD) {
618 DSOHandles[&JD], JD.getName(),
624 Error ORCPlatformSupport::deinitialize(orc::JITDylib &JD) {
636 WrapperAddr->getAddress(), result, DSOHandles[&JD]);
642 DSOHandles.erase(&JD);
825 LLVM_DEBUG(dbgs() << "Creating default Process JD setup function\n");
827 auto &JD =
833 JD.addGenerator(std::move(*G));
834 return &JD;
851 auto JD = ES->createJITDylib(std::move(Name));
852 if (!JD)
853 return JD.takeError();
855 JD->addToLinkOrder(DefaultLinks);
856 return JD;
867 auto &JD = ES->createBareJITDylib(Path);
868 JD.addGenerator(std::move(*G));
869 return JD;
872 Error LLJIT::linkStaticLibraryInto(JITDylib &JD,
879 JD.addGenerator(std::move(*G));
884 Error LLJIT::linkStaticLibraryInto(JITDylib &JD, const char *Path) {
889 JD.addGenerator(std::move(*G));
904 Error LLJIT::addIRModule(JITDylib &JD, ThreadSafeModule TSM) {
905 return addIRModule(JD.getDefaultResourceTracker(), std::move(TSM));
915 Error LLJIT::addObjectFile(JITDylib &JD, std::unique_ptr<MemoryBuffer> Obj) {
916 return addObjectFile(JD.getDefaultResourceTracker(), std::move(Obj));
919 Expected<ExecutorAddr> LLJIT::lookupLinkerMangled(JITDylib &JD,
922 makeJITDylibSearchOrder(&JD, JITDylibLookupFlags::MatchAllSymbols),
1095 Error operator()(JITDylib &JD, StringRef DLLName) {
1103 JD.addToLinkOrder(*DLLJD);
1225 Error LLLazyJIT::addLazyIRModule(JITDylib &JD, ThreadSafeModule TSM) {
1232 return CODLayer->add(JD, std::move(TSM));