================
@@ -683,18 +685,26 @@ void dyld_shared_cache_for_each_image(dyld_shared_cache_t 
cache,
 namespace {
 class SharedCacheInfo {
 public:
-  llvm::StringMap<SharedCacheImageInfo> &GetImages() {
-    return m_caches[m_host_uuid];
+  llvm::DenseMap<ConstString, SharedCacheImageInfo *> &
+  GetHostSCFilenameToImageInfoMap() {
+    return m_filename_map[m_host_uuid];
+  }
+  llvm::DenseMap<UUID, SharedCacheImageInfo *> &GetHostSCUUIDToImageInfoMap() {
+    return m_uuid_map[m_host_uuid];
   }
 
-  bool GetImages(llvm::StringMap<SharedCacheImageInfo> **images,
-                 const UUID &uuid) {
-    if (m_caches.find(uuid) != m_caches.end()) {
-      *images = &m_caches[uuid];
-      return true;
-    }
-    *images = nullptr;
-    return false;
+  llvm::DenseMap<ConstString, SharedCacheImageInfo *> *
+  GetFilenameToImageInfoMap(const UUID &sc_uuid) {
+    if (m_filename_map.contains(sc_uuid))
+      return &m_filename_map[sc_uuid];
+    return nullptr;
+  }
+
+  llvm::DenseMap<UUID, SharedCacheImageInfo *> *
+  GetUUIDToImageInfoMap(const UUID &sc_uuid) {
+    if (m_uuid_map.contains(sc_uuid))
+      return &m_uuid_map[sc_uuid];
+    return nullptr;
   }
----------------
jasonmolenda wrote:

Did a quick look-see, changing the `SharedCacheInfo` class in the anonymous 
namespace in HostInfoMacOSX to have protected members and mark 
lldb_private::HostInfoMacOSX as a friend class, but I forgot there is a static 
function in HostInfoMacOSX.mm that keeps hands out the SharedCacheInfo object,
```
SharedCacheInfo &HostInfoMacOSX::GetSharedCacheSingleton(SymbolSharedCacheUse 
sc_mode) {
  static SharedCacheInfo g_shared_cache_info(sc_mode);
  return g_shared_cache_info;
}
```

I can't add this to HostInfoMacOSX because `SharedCacheInfo` is only defined 
within HostInfoMacOSX.mm, can't refer to it up in 
lldb/include/Host/macosx/HostInfoMacOSX.h

https://github.com/llvm/llvm-project/pull/180874
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to