diff options
| author | hjk <hjk@qt.io> | 2022-06-23 16:56:36 +0200 |
|---|---|---|
| committer | hjk <hjk@qt.io> | 2022-06-24 11:49:41 +0000 |
| commit | ffa3aad57647be2d33246b5f07eaa32450dd87a6 (patch) | |
| tree | 6ad17cd8d0e23ddedd461fd846777287f4029573 /src/plugins/cppeditor/cppfindreferences.cpp | |
| parent | 85cd97a33446699f97a21429ceb22f3acf40a5be (diff) | |
| download | qt-creator-ffa3aad57647be2d33246b5f07eaa32450dd87a6.tar.gz | |
CPlusPlus: Inline some simple central functions
Depending on context, callgrind sees contributions of >8% to
the total cost of project parsing for these functions. The
functional are actualy executed executed out-of-line, often
for a function body of one "payload" instruction only.
Inlining removes the call/endbr64/ret overhead.
Change-Id: I6886f08e322fcaa4e0f54d424279e0a8c24e4718
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/cppeditor/cppfindreferences.cpp')
| -rw-r--r-- | src/plugins/cppeditor/cppfindreferences.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/cppeditor/cppfindreferences.cpp b/src/plugins/cppeditor/cppfindreferences.cpp index 44f40505d1..1b4f78bef9 100644 --- a/src/plugins/cppeditor/cppfindreferences.cpp +++ b/src/plugins/cppeditor/cppfindreferences.cpp @@ -413,11 +413,11 @@ static void find_helper(QFutureInterface<CPlusPlus::Usage> &future, symbol->fileNameLength()); Utils::FilePaths files{sourceFile}; - if (symbol->isClass() - || symbol->isForwardClassDeclaration() + if (symbol->asClass() + || symbol->asForwardClassDeclaration() || (symbol->enclosingScope() && !symbol->isStatic() - && symbol->enclosingScope()->isNamespace())) { + && symbol->enclosingScope()->asNamespace())) { const CPlusPlus::Snapshot snapshotFromContext = context.snapshot(); for (auto i = snapshotFromContext.begin(), ei = snapshotFromContext.end(); i != ei; ++i) { if (i.key() == sourceFile) @@ -479,7 +479,7 @@ void CppFindReferences::findUsages(CPlusPlus::Symbol *symbol, parameters.symbolFileName = QByteArray(symbol->fileName()); parameters.categorize = codeModelSettings()->categorizeFindReferences(); - if (symbol->isClass() || symbol->isForwardClassDeclaration()) { + if (symbol->asClass() || symbol->asForwardClassDeclaration()) { CPlusPlus::Overview overview; parameters.prettySymbolName = overview.prettyName(CPlusPlus::LookupContext::path(symbol).constLast()); |
