aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2015-08-11 12:47:28 +0200
committerSimon Hausmann <simon.hausmann@theqtcompany.com>2015-08-24 19:24:20 +0000
commit6d5caee804ca80eb81c364624847f70e62caa92e (patch)
tree8256be366f5def91c541fc9a525c9baa02a40f84 /src/plugins
parent9dd496c069154ac655be9b85b72a6eb409bfa223 (diff)
Fix profiling of QML/JS compilation
The compilation of .js resources was missed and the compile times were underestimated because the dependency resolution and error checking wasn't factored in. In particular we only profiled the done() step for QQmlTypeData. However, JavaScript compilation also occurs in the dataReceived() step of QQmlScriptBlob and QQmlTypeData will already parse the program into an AST at that step. Compile steps can be nested now, but considering the fact that significant time may be spent before and after compiling dependencies for a parent module, this seems to be the best way to model them. Furthermore, in order to not needlessly convert QUrl to QString at runtime, the compilation profiler saves the files now as QUrl. Change-Id: I215a87787f9117c069ecd77b2d913cc0b0ff3c89 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/qmltooling/qmldbg_profiler/qqmlprofileradapter.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/qmltooling/qmldbg_profiler/qqmlprofileradapter.cpp b/src/plugins/qmltooling/qmldbg_profiler/qqmlprofileradapter.cpp
index 349c181d13..245900abae 100644
--- a/src/plugins/qmltooling/qmldbg_profiler/qqmlprofileradapter.cpp
+++ b/src/plugins/qmltooling/qmldbg_profiler/qqmlprofileradapter.cpp
@@ -81,7 +81,7 @@ static void qQmlProfilerDataToByteArrays(const QQmlProfilerData *d, QList<QByteA
ds << QQmlProfilerDefinitions::QmlBinding;
break;
case QQmlProfilerDefinitions::RangeData:
- ds << d->detailString;
+ ds << (d->detailString.isEmpty() ? d->detailUrl.toString() : d->detailString);
break;
case QQmlProfilerDefinitions::RangeLocation:
ds << (d->detailUrl.isEmpty() ? d->detailString : d->detailUrl.toString()) << d->x