diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2019-09-04 09:47:18 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2019-09-04 09:47:18 +0000 |
commit | 5aa1d81969fb1b91e5ab5be446a3a71bd2e1ecdc (patch) | |
tree | 9df4be634b4ca60aca65f097021c2d8d7116af26 /lldb/source/DataFormatters | |
parent | 915f9785e052150f268bc62a9ce00fcae2b5558c (diff) | |
download | bcm5719-llvm-5aa1d81969fb1b91e5ab5be446a3a71bd2e1ecdc.tar.gz bcm5719-llvm-5aa1d81969fb1b91e5ab5be446a3a71bd2e1ecdc.zip |
Code cleanup: Change FormattersContainer::KeyType from SP to rvalue
There is now std::shared_ptr passed around which is expensive for manycore
CPUs. Most of the times (except for 3 cases) it is now just std::moved with no
CPU locks needed. It also makes it possible to sort the keys (which is now not
needed much after D66398).
Differential revision: https://reviews.llvm.org/D67049
llvm-svn: 370863
Diffstat (limited to 'lldb/source/DataFormatters')
-rw-r--r-- | lldb/source/DataFormatters/FormatManager.cpp | 9 | ||||
-rw-r--r-- | lldb/source/DataFormatters/FormattersHelpers.cpp | 42 |
2 files changed, 24 insertions, 27 deletions
diff --git a/lldb/source/DataFormatters/FormatManager.cpp b/lldb/source/DataFormatters/FormatManager.cpp index efc5f059e44..1eac372d79e 100644 --- a/lldb/source/DataFormatters/FormatManager.cpp +++ b/lldb/source/DataFormatters/FormatManager.cpp @@ -952,10 +952,7 @@ void FormatManager::LoadSystemFormatters() { lldb::TypeSummaryImplSP string_array_format( new StringSummaryFormat(string_array_flags, "${var%s}")); - lldb::RegularExpressionSP any_size_char_arr( - new RegularExpression(llvm::StringRef("char \\[[0-9]+\\]"))); - lldb::RegularExpressionSP any_size_wchar_arr( - new RegularExpression(llvm::StringRef("wchar_t \\[[0-9]+\\]"))); + RegularExpression any_size_char_arr(llvm::StringRef("char \\[[0-9]+\\]")); TypeCategoryImpl::SharedPointer sys_category_sp = GetCategory(m_system_category_name); @@ -964,8 +961,8 @@ void FormatManager::LoadSystemFormatters() { string_format); sys_category_sp->GetTypeSummariesContainer()->Add( ConstString("unsigned char *"), string_format); - sys_category_sp->GetRegexTypeSummariesContainer()->Add(any_size_char_arr, - string_array_format); + sys_category_sp->GetRegexTypeSummariesContainer()->Add( + std::move(any_size_char_arr), string_array_format); lldb::TypeSummaryImplSP ostype_summary( new StringSummaryFormat(TypeSummaryImpl::Flags() diff --git a/lldb/source/DataFormatters/FormattersHelpers.cpp b/lldb/source/DataFormatters/FormattersHelpers.cpp index 8f007df03fa..b2a5a17595c 100644 --- a/lldb/source/DataFormatters/FormattersHelpers.cpp +++ b/lldb/source/DataFormatters/FormattersHelpers.cpp @@ -29,10 +29,10 @@ void lldb_private::formatters::AddFormat( if (regex) category_sp->GetRegexTypeFormatsContainer()->Add( - RegularExpressionSP(new RegularExpression(type_name.GetStringRef())), - format_sp); + RegularExpression(type_name.GetStringRef()), format_sp); else - category_sp->GetTypeFormatsContainer()->Add(type_name, format_sp); + category_sp->GetTypeFormatsContainer()->Add(std::move(type_name), + format_sp); } void lldb_private::formatters::AddSummary( @@ -40,10 +40,10 @@ void lldb_private::formatters::AddSummary( ConstString type_name, bool regex) { if (regex) category_sp->GetRegexTypeSummariesContainer()->Add( - RegularExpressionSP(new RegularExpression(type_name.GetStringRef())), - summary_sp); + RegularExpression(type_name.GetStringRef()), summary_sp); else - category_sp->GetTypeSummariesContainer()->Add(type_name, summary_sp); + category_sp->GetTypeSummariesContainer()->Add(std::move(type_name), + summary_sp); } void lldb_private::formatters::AddStringSummary( @@ -53,10 +53,10 @@ void lldb_private::formatters::AddStringSummary( if (regex) category_sp->GetRegexTypeSummariesContainer()->Add( - RegularExpressionSP(new RegularExpression(type_name.GetStringRef())), - summary_sp); + RegularExpression(type_name.GetStringRef()), summary_sp); else - category_sp->GetTypeSummariesContainer()->Add(type_name, summary_sp); + category_sp->GetTypeSummariesContainer()->Add(std::move(type_name), + summary_sp); } void lldb_private::formatters::AddOneLineSummary( @@ -67,10 +67,10 @@ void lldb_private::formatters::AddOneLineSummary( if (regex) category_sp->GetRegexTypeSummariesContainer()->Add( - RegularExpressionSP(new RegularExpression(type_name.GetStringRef())), - summary_sp); + RegularExpression(type_name.GetStringRef()), summary_sp); else - category_sp->GetTypeSummariesContainer()->Add(type_name, summary_sp); + category_sp->GetTypeSummariesContainer()->Add(std::move(type_name), + summary_sp); } void lldb_private::formatters::AddCXXSummary( @@ -81,10 +81,10 @@ void lldb_private::formatters::AddCXXSummary( new CXXFunctionSummaryFormat(flags, funct, description)); if (regex) category_sp->GetRegexTypeSummariesContainer()->Add( - RegularExpressionSP(new RegularExpression(type_name.GetStringRef())), - summary_sp); + RegularExpression(type_name.GetStringRef()), summary_sp); else - category_sp->GetTypeSummariesContainer()->Add(type_name, summary_sp); + category_sp->GetTypeSummariesContainer()->Add(std::move(type_name), + summary_sp); } void lldb_private::formatters::AddCXXSynthetic( @@ -96,10 +96,10 @@ void lldb_private::formatters::AddCXXSynthetic( new CXXSyntheticChildren(flags, description, generator)); if (regex) category_sp->GetRegexTypeSyntheticsContainer()->Add( - RegularExpressionSP(new RegularExpression(type_name.GetStringRef())), - synth_sp); + RegularExpression(type_name.GetStringRef()), synth_sp); else - category_sp->GetTypeSyntheticsContainer()->Add(type_name, synth_sp); + category_sp->GetTypeSyntheticsContainer()->Add(std::move(type_name), + synth_sp); } void lldb_private::formatters::AddFilter( @@ -111,10 +111,10 @@ void lldb_private::formatters::AddFilter( filter_sp->AddExpressionPath(child); if (regex) category_sp->GetRegexTypeFiltersContainer()->Add( - RegularExpressionSP(new RegularExpression(type_name.GetStringRef())), - filter_sp); + RegularExpression(type_name.GetStringRef()), filter_sp); else - category_sp->GetTypeFiltersContainer()->Add(type_name, filter_sp); + category_sp->GetTypeFiltersContainer()->Add(std::move(type_name), + filter_sp); } size_t lldb_private::formatters::ExtractIndexFromString(const char *item_name) { |