aprantl created this revision. aprantl added reviewers: JDevlieghere, friss.
This fixes a performance issue in the failure case. rdar://63547920 https://reviews.llvm.org/D80595 Files: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm Index: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm =================================================================== --- lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm +++ lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm @@ -367,8 +367,10 @@ static std::mutex g_sdk_path_mutex; std::lock_guard<std::mutex> guard(g_sdk_path_mutex); - std::string &path = g_sdk_path[sdk.GetString()]; - if (path.empty()) - path = GetXcodeSDK(sdk); + auto it = g_sdk_path.find(sdk.GetString()); + if (it != g_sdk_path.end()) + return it->second; + std::string path = GetXcodeSDK(sdk); + g_sdk_path.insert({sdk.GetString(), path}); return path; }
Index: lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm =================================================================== --- lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm +++ lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm @@ -367,8 +367,10 @@ static std::mutex g_sdk_path_mutex; std::lock_guard<std::mutex> guard(g_sdk_path_mutex); - std::string &path = g_sdk_path[sdk.GetString()]; - if (path.empty()) - path = GetXcodeSDK(sdk); + auto it = g_sdk_path.find(sdk.GetString()); + if (it != g_sdk_path.end()) + return it->second; + std::string path = GetXcodeSDK(sdk); + g_sdk_path.insert({sdk.GetString(), path}); return path; }
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits