forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -174,7 +174,7 @@ protected:
|
||||
bool visit(Template *symbol) override
|
||||
{
|
||||
if (Symbol *decl = symbol->declaration()) {
|
||||
if (decl->isFunction() || decl->isClass() || decl->isDeclaration())
|
||||
if (decl->asFunction() || decl->asClass() || decl->asDeclaration())
|
||||
return process(symbol);
|
||||
}
|
||||
return true;
|
||||
@@ -522,7 +522,7 @@ QString Document::functionAt(int line, int column, int *lineOpeningDeclaratorPar
|
||||
if (!scope)
|
||||
scope = symbol->enclosingScope();
|
||||
|
||||
while (scope && !scope->isFunction() )
|
||||
while (scope && !scope->asFunction() )
|
||||
scope = scope->enclosingScope();
|
||||
|
||||
if (!scope)
|
||||
|
||||
Reference in New Issue
Block a user