From 3e4f7ed5ed29c907815f5bae2628e417c340efbc Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 9 Jan 2012 19:25:44 +0100 Subject: QMap => QHash this should make the evaluator quite a lot faster. the total win for qtbase/src is only 6%, though. i made some effort to avoid that output files get randomized. however, i didn't bother to keep debug output sorted. Change-Id: Id9cef4674c0153c11ebbb65cb63bf8c229eb56e3 Reviewed-by: Joerg Bornemann Reviewed-by: Oswald Buddenhagen --- qmake/project.h | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'qmake/project.h') diff --git a/qmake/project.h b/qmake/project.h index d458dd9e0a..8a49eb584d 100644 --- a/qmake/project.h +++ b/qmake/project.h @@ -46,7 +46,7 @@ #include #include #include -#include +#include #include QT_BEGIN_NAMESPACE @@ -76,7 +76,7 @@ class QMakeProject QStack function_blocks; IteratorBlock *iterator; FunctionBlock *function; - QMap testFunctions, replaceFunctions; + QHash testFunctions, replaceFunctions; bool recursive; bool own_prop; @@ -84,8 +84,8 @@ class QMakeProject QString pfile, cfile; QMakeProperty *prop; void reset(); - QMap vars, base_vars, cache; - bool parse(const QString &text, QMap &place, int line_count=1); + QHash vars, base_vars, cache; + bool parse(const QString &text, QHash &place, int line_count=1); enum IncludeStatus { IncludeSuccess, @@ -100,21 +100,21 @@ class QMakeProject IncludeFlagNewParser = 0x02, IncludeFlagNewProject = 0x04 }; - IncludeStatus doProjectInclude(QString file, uchar flags, QMap &place); + IncludeStatus doProjectInclude(QString file, uchar flags, QHash &place); - bool doProjectCheckReqs(const QStringList &deps, QMap &place); - bool doVariableReplace(QString &str, QMap &place); - QStringList doVariableReplaceExpand(const QString &str, QMap &place, bool *ok=0); - void init(QMakeProperty *, const QMap *); - QStringList &values(const QString &v, QMap &place); + bool doProjectCheckReqs(const QStringList &deps, QHash &place); + bool doVariableReplace(QString &str, QHash &place); + QStringList doVariableReplaceExpand(const QString &str, QHash &place, bool *ok=0); + void init(QMakeProperty *, const QHash *); + QStringList &values(const QString &v, QHash &place); void validateModes(); public: QMakeProject() { init(0, 0); } QMakeProject(QMakeProperty *p) { init(p, 0); } - QMakeProject(QMakeProject *p, const QMap *nvars=0); - QMakeProject(const QMap &nvars) { init(0, &nvars); } - QMakeProject(QMakeProperty *p, const QMap &nvars) { init(p, &nvars); } + QMakeProject(QMakeProject *p, const QHash *nvars=0); + QMakeProject(const QHash &nvars) { init(0, &nvars); } + QMakeProject(QMakeProperty *p, const QHash &nvars) { init(p, &nvars); } ~QMakeProject(); enum { ReadCache=0x01, ReadConf=0x02, ReadCmdLine=0x04, ReadProFile=0x08, @@ -129,19 +129,19 @@ public: QString projectFile(); inline QMakeProperty *properties() { return prop; } - bool doProjectTest(QString str, QMap &place); + bool doProjectTest(QString str, QHash &place); bool doProjectTest(QString func, const QString ¶ms, - QMap &place); + QHash &place); bool doProjectTest(QString func, QStringList args, - QMap &place); + QHash &place); bool doProjectTest(QString func, QList args, - QMap &place); + QHash &place); QStringList doProjectExpand(QString func, const QString ¶ms, - QMap &place); + QHash &place); QStringList doProjectExpand(QString func, QStringList args, - QMap &place); + QHash &place); QStringList doProjectExpand(QString func, QList args, - QMap &place); + QHash &place); QStringList expand(const QString &v); QString expand(const QString &v, const QString &file, int line); @@ -149,20 +149,20 @@ public: bool test(const QString &v); bool test(const QString &func, const QList &args); bool isActiveConfig(const QString &x, bool regex=false, - QMap *place=NULL); + QHash *place=NULL); bool isSet(const QString &v); // No compat mapping, no magic variables bool isEmpty(const QString &v); // With compat mapping, but no magic variables QStringList &values(const QString &v); // With compat mapping and magic variables QString first(const QString &v); // ditto - QMap &variables(); // No compat mapping and magic, obviously + QHash &variables(); // No compat mapping and magic, obviously bool isRecursive() const { return recursive; } protected: friend class MakefileGenerator; - bool read(const QString &file, QMap &place); - bool read(QTextStream &file, QMap &place); + bool read(const QString &file, QHash &place); + bool read(QTextStream &file, QHash &place); }; Q_DECLARE_METATYPE(QMakeProject*) @@ -188,7 +188,7 @@ inline QString QMakeProject::first(const QString &v) return vals.first(); } -inline QMap &QMakeProject::variables() +inline QHash &QMakeProject::variables() { return vars; } QT_END_NAMESPACE -- cgit v1.2.3