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/libs/3rdparty/cplusplus/Names.h | |
parent | 85cd97a33446699f97a21429ceb22f3acf40a5be (diff) |
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/libs/3rdparty/cplusplus/Names.h')
-rw-r--r-- | src/libs/3rdparty/cplusplus/Names.h | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/libs/3rdparty/cplusplus/Names.h b/src/libs/3rdparty/cplusplus/Names.h index 5b915bdfb4..7913c9b0bc 100644 --- a/src/libs/3rdparty/cplusplus/Names.h +++ b/src/libs/3rdparty/cplusplus/Names.h @@ -234,10 +234,8 @@ public: Kind kind() const; - const Identifier *identifier() const override; - - const OperatorNameId *asOperatorNameId() const override - { return this; } + const Identifier *identifier() const override { return nullptr; } + const OperatorNameId *asOperatorNameId() const override { return this; } protected: void accept0(NameVisitor *visitor) const override; @@ -253,12 +251,9 @@ public: ConversionNameId(const FullySpecifiedType &type); virtual ~ConversionNameId(); - FullySpecifiedType type() const; - - const Identifier *identifier() const override; - - const ConversionNameId *asConversionNameId() const override - { return this; } + FullySpecifiedType type() const { return _type; } + const Identifier *identifier() const override { return nullptr; } + const ConversionNameId *asConversionNameId() const override { return this; } protected: void accept0(NameVisitor *visitor) const override; @@ -300,7 +295,7 @@ private: bool _hasArguments; }; -class CPLUSPLUS_EXPORT AnonymousNameId: public Name +class CPLUSPLUS_EXPORT AnonymousNameId final : public Name { public: AnonymousNameId(int classTokenIndex); @@ -308,10 +303,9 @@ public: int classTokenIndex() const; - const Identifier *identifier() const override; + const Identifier *identifier() const override { return nullptr; } - const AnonymousNameId *asAnonymousNameId() const override - { return this; } + const AnonymousNameId *asAnonymousNameId() const override { return this; } protected: void accept0(NameVisitor *visitor) const override; |