From 669487fe9549a896ea4ec3c63fa7ad8585e74b63 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 23 May 2015 09:53:49 +0200 Subject: QCommandLineOption: prevent aggressive inlining There is a good chance that in every program, command line options that have only one name and those that have multiple names are used. Make better use of the icache by not inlining the Private ctors into the QCommandLineOption ones. Saves 400B in text size on Linux GCC 4.9 C++11 release builds. Change-Id: I6247d4a2330c5fff75d06f5a40223d972b267e85 Reviewed-by: Thiago Macieira --- src/corelib/tools/qcommandlineoption.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/corelib/tools/qcommandlineoption.cpp') diff --git a/src/corelib/tools/qcommandlineoption.cpp b/src/corelib/tools/qcommandlineoption.cpp index 58e3e3e79f..58fec597bc 100644 --- a/src/corelib/tools/qcommandlineoption.cpp +++ b/src/corelib/tools/qcommandlineoption.cpp @@ -41,11 +41,13 @@ QT_BEGIN_NAMESPACE class QCommandLineOptionPrivate : public QSharedData { public: + Q_NEVER_INLINE explicit QCommandLineOptionPrivate(const QString &name) : names(removeInvalidNames(QStringList(name))), hidden(false) { } + Q_NEVER_INLINE explicit QCommandLineOptionPrivate(const QStringList &names) : names(removeInvalidNames(names)), hidden(false) -- cgit v1.2.3