Lines Matching refs:Handle
33 static void DLClose(void *Handle);
34 static void *DLSym(void *Handle, const char *Symbol);
39 HandleList::iterator Find(void *Handle) { return find(Handles, Handle); } in Find() argument
41 bool Contains(void *Handle) { in Contains() argument
42 return Handle == Process || Find(Handle) != Handles.end(); in Contains()
45 bool AddLibrary(void *Handle, bool IsProcess = false, bool CanClose = true) { in AddLibrary() argument
47 assert((Handle == this ? IsProcess : !IsProcess) && "Bad Handle."); in AddLibrary()
51 if (Find(Handle) != Handles.end()) { in AddLibrary()
53 DLClose(Handle); in AddLibrary()
56 Handles.push_back(Handle); in AddLibrary()
62 if (Process == Handle) in AddLibrary()
66 Process = Handle; in AddLibrary()
73 for (void *Handle : Handles) { in LibLookup() local
74 if (void *Ptr = DLSym(Handle, Symbol)) in LibLookup()
78 for (void *Handle : llvm::reverse(Handles)) { in LibLookup() local
79 if (void *Ptr = DLSym(Handle, Symbol)) in LibLookup()
149 void *Handle = HandleSet::DLOpen(FileName, Err); in getPermanentLibrary() local
150 if (Handle != &Invalid) { in getPermanentLibrary()
152 HS.AddLibrary(Handle, /*IsProcess*/ FileName == nullptr); in getPermanentLibrary()
155 return DynamicLibrary(Handle); in getPermanentLibrary()
158 DynamicLibrary DynamicLibrary::addPermanentLibrary(void *Handle, in addPermanentLibrary() argument
162 if (!OpenedHandles->AddLibrary(Handle, /*IsProcess*/false, /*CanClose*/false)) in addPermanentLibrary()
165 return DynamicLibrary(Handle); in addPermanentLibrary()