Lines Matching refs:Handle

37   static void DLClose(void *Handle);
38 static void *DLSym(void *Handle, const char *Symbol);
43 HandleList::iterator Find(void *Handle) { in Find() argument
44 return std::find(Handles.begin(), Handles.end(), Handle); in Find()
47 bool Contains(void *Handle) { in Contains() argument
48 return Handle == Process || Find(Handle) != Handles.end(); in Contains()
51 bool AddLibrary(void *Handle, bool IsProcess = false, bool CanClose = true) { in AddLibrary() argument
53 assert((Handle == this ? IsProcess : !IsProcess) && "Bad Handle."); in AddLibrary()
57 if (Find(Handle) != Handles.end()) { in AddLibrary()
59 DLClose(Handle); in AddLibrary()
62 Handles.push_back(Handle); in AddLibrary()
68 if (Process == Handle) in AddLibrary()
72 Process = Handle; in AddLibrary()
79 for (void *Handle : Handles) { in LibLookup() local
80 if (void *Ptr = DLSym(Handle, Symbol)) in LibLookup()
84 for (void *Handle : llvm::reverse(Handles)) { in LibLookup() local
85 if (void *Ptr = DLSym(Handle, Symbol)) in LibLookup()
155 void *Handle = HandleSet::DLOpen(FileName, Err); in getPermanentLibrary() local
156 if (Handle != &Invalid) { in getPermanentLibrary()
158 HS.AddLibrary(Handle, /*IsProcess*/ FileName == nullptr); in getPermanentLibrary()
161 return DynamicLibrary(Handle); in getPermanentLibrary()
164 DynamicLibrary DynamicLibrary::addPermanentLibrary(void *Handle, in addPermanentLibrary() argument
168 if (!OpenedHandles->AddLibrary(Handle, /*IsProcess*/false, /*CanClose*/false)) in addPermanentLibrary()
171 return DynamicLibrary(Handle); in addPermanentLibrary()