diff options
author | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-08-23 13:15:51 +0300 |
---|---|---|
committer | Anton Kudryavtsev <a.kudryavtsev@netris.ru> | 2016-09-08 18:18:29 +0000 |
commit | 798b6ba239f59f7b3ed36b3c2cf10955a7bdffcb (patch) | |
tree | c6b507624aec85b73be11fd95ea9eab14a5b05b8 | |
parent | 65c7ddd9dd0c86bb532b6a2ad979141a8f24dfea (diff) |
optimize string usage: use fromLatin1() less
.. to reduce allocations.
Replace fromLatin1 with QLatin1String or
with QStringBuilder where it is possible.
Change-Id: I09c7242fa7b118447b51239e2a6743a34fb3de14
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
-rw-r--r-- | src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp | 10 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4qobjectwrapper.cpp | 10 | ||||
-rw-r--r-- | src/qml/jsruntime/qv4variantobject.cpp | 7 | ||||
-rw-r--r-- | src/qmltest/quicktestresult.cpp | 2 |
4 files changed, 16 insertions, 13 deletions
diff --git a/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp b/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp index d514ea04d9..fe88d686fc 100644 --- a/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp +++ b/src/plugins/qmltooling/qmldbg_debugger/qqmlenginedebugservice.cpp @@ -289,10 +289,12 @@ void QQmlEngineDebugServiceImpl::buildObjectDump(QDataStream &message, prop.value = expr->expression(); QObject *scope = expr->scopeObject(); if (scope) { - QString methodName = QString::fromLatin1(QMetaObjectPrivate::signal(scope->metaObject(), signalHandler->signalIndex()).name()); - if (!methodName.isEmpty()) { - prop.name = QLatin1String("on") + methodName[0].toUpper() - + methodName.mid(1); + const QByteArray methodName = QMetaObjectPrivate::signal(scope->metaObject(), + signalHandler->signalIndex()).name(); + const QLatin1String methodNameStr(methodName); + if (methodNameStr.size() != 0) { + prop.name = QLatin1String("on") + QChar(methodNameStr.at(0)).toUpper() + + methodNameStr.mid(1); } } } diff --git a/src/qml/jsruntime/qv4qobjectwrapper.cpp b/src/qml/jsruntime/qv4qobjectwrapper.cpp index 9462101a2a..870782c306 100644 --- a/src/qml/jsruntime/qv4qobjectwrapper.cpp +++ b/src/qml/jsruntime/qv4qobjectwrapper.cpp @@ -1302,9 +1302,8 @@ static QV4::ReturnedValue CallPrecise(const QQmlObjectOrGadget &object, const QQ int returnType = object.methodReturnType(data, &unknownTypeError); if (returnType == QMetaType::UnknownType) { - QString typeName = QString::fromLatin1(unknownTypeError); - QString error = QStringLiteral("Unknown method return type: %1").arg(typeName); - return engine->throwError(error); + return engine->throwError(QLatin1String("Unknown method return type: ") + + QLatin1String(unknownTypeError)); } if (data.hasArguments()) { @@ -1319,9 +1318,8 @@ static QV4::ReturnedValue CallPrecise(const QQmlObjectOrGadget &object, const QQ args = object.methodParameterTypes(data.coreIndex(), &storage, &unknownTypeError); if (!args) { - QString typeName = QString::fromLatin1(unknownTypeError); - QString error = QStringLiteral("Unknown method parameter type: %1").arg(typeName); - return engine->throwError(error); + return engine->throwError(QLatin1String("Unknown method parameter type: ") + + QLatin1String(unknownTypeError)); } if (args[0] > callArgs->argc) { diff --git a/src/qml/jsruntime/qv4variantobject.cpp b/src/qml/jsruntime/qv4variantobject.cpp index 444c0a37e0..39b41dd0d8 100644 --- a/src/qml/jsruntime/qv4variantobject.cpp +++ b/src/qml/jsruntime/qv4variantobject.cpp @@ -138,8 +138,11 @@ QV4::ReturnedValue VariantPrototype::method_toString(CallContext *ctx) if (!o) return Encode::undefined(); QString result = o->d()->data.toString(); - if (result.isEmpty() && !o->d()->data.canConvert(QVariant::String)) - result = QStringLiteral("QVariant(%0)").arg(QString::fromLatin1(o->d()->data.typeName())); + if (result.isEmpty() && !o->d()->data.canConvert(QVariant::String)) { + result = QLatin1String("QVariant(") + + QLatin1String(o->d()->data.typeName()) + + QLatin1Char(')'); + } return Encode(ctx->d()->engine->newString(result)); } diff --git a/src/qmltest/quicktestresult.cpp b/src/qmltest/quicktestresult.cpp index e05d29bc05..d311e7810e 100644 --- a/src/qmltest/quicktestresult.cpp +++ b/src/qmltest/quicktestresult.cpp @@ -519,7 +519,7 @@ void QuickTestResult::stringify(QQmlV4Function *args) if (result.isEmpty()) { QString tmp = value->toQStringNoThrow(); if (value->as<QV4::ArrayObject>()) - result.append(QString::fromLatin1("[%1]").arg(tmp)); + result += QLatin1Char('[') + tmp + QLatin1Char(']'); else result.append(tmp); } |