Lines Matching defs:JDS
141 Error dlopenFull(JITDylibState &JDS);
142 Error dlopenInitialize(JITDylibState &JDS, COFFJITDylibDepInfoMap &DepInfo);
145 Error dlcloseDeinitialize(JITDylibState &JDS);
209 auto &JDS = JDStates[Header];
210 JDS.Name = std::move(Name);
211 JDS.Header = Header;
212 JDNameToHeader[JDS.Name] = Header;
270 auto *JDS = getJITDylibStateByHeader(DSOHandle);
272 if (JDS) {
299 auto *JDS = getJITDylibStateByName(Path);
301 if (!JDS)
305 if (auto Err = dlopenFull(*JDS))
309 ++JDS->DlRefCount;
312 return JDS->Header;
315 Error COFFPlatformRuntimeState::dlopenFull(JITDylibState &JDS) {
321 ExecutorAddr::fromPtr(JDS.Header)))
326 if (auto Err = dlopenInitialize(JDS, *DepInfoMap))
332 JDS.Name.c_str());
337 << JDS.Name;
345 JITDylibState &JDS, COFFJITDylibDepInfoMap &DepInfo) {
348 JDS.Name.c_str());
352 auto I = DepInfo.find(ExecutorAddr::fromPtr(JDS.Header));
362 std::swap(JDS.Deps, OldDeps);
363 JDS.Deps.reserve(DI.size());
370 << JDS.Name;
379 JDS.CInitSection.RunAllNewAndFlush();
380 JDS.CXXInitSection.RunAllNewAndFlush();
395 auto *JDS = getJITDylibStateByHeader(DSOHandle);
397 if (!JDS) {
404 --JDS->DlRefCount;
406 if (!JDS->referenced())
407 return dlcloseDeinitialize(*JDS);
412 Error COFFPlatformRuntimeState::dlcloseDeinitialize(JITDylibState &JDS) {
415 JDS.Name.c_str());
419 for (auto AtExit : JDS.AtExits)
421 JDS.AtExits.clear();
424 JDS.CPreTermSection.RunAllNewAndFlush();
425 JDS.CTermSection.RunAllNewAndFlush();
428 JDS.CInitSection.Reset();
429 JDS.CXXInitSection.Reset();
430 JDS.CPreTermSection.Reset();
431 JDS.CTermSection.Reset();
434 for (auto *DepJDS : JDS.Deps) {