aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2012-03-01 10:34:01 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-02 04:53:14 +0100
commita7c56b79d2f682b1e82b6b92d11fc942148d8c3b (patch)
tree54074a1bda6d0a94aa4e5a0e6269812ade4a428a /src
parent07aea54a90c9bee45420893be1be9761a3a488d9 (diff)
More verbose compiler stats.
Report shared and unshared v8 bindings separately. Change-Id: Iaa198dcc93035a778b13d7137742a7b308aa782f Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/declarative/qml/qdeclarativecompiler.cpp28
-rw-r--r--src/declarative/qml/qdeclarativecompiler_p.h1
2 files changed, 26 insertions, 3 deletions
diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp
index b7b882cd97..aaa1acaaa3 100644
--- a/src/declarative/qml/qdeclarativecompiler.cpp
+++ b/src/declarative/qml/qdeclarativecompiler.cpp
@@ -3613,12 +3613,15 @@ bool QDeclarativeCompiler::completeComponentBuild()
binding.property->type != qMetaTypeId<QDeclarativeBinding*>()) {
binding.dataType = BindingReference::V8;
sharedBindings.append(b);
+
+ if (componentStats)
+ componentStats->componentStat.sharedBindings.append(b->value->location);
} else {
binding.dataType = BindingReference::QtScript;
- }
- if (componentStats)
- componentStats->componentStat.scriptBindings.append(b->value->location);
+ if (componentStats)
+ componentStats->componentStat.scriptBindings.append(b->value->location);
+ }
}
if (!sharedBindings.isEmpty()) {
@@ -3699,6 +3702,25 @@ void QDeclarativeCompiler::dumpStats()
qWarning().nospace() << output.constData();
}
+ qWarning().nospace() << " Shared Bindings: " << stat.sharedBindings.count();
+ {
+ QByteArray output;
+ for (int ii = 0; ii < stat.sharedBindings.count(); ++ii) {
+ if (0 == (ii % 10)) {
+ if (ii) output.append("\n");
+ output.append(" ");
+ }
+
+ output.append("(");
+ output.append(QByteArray::number(stat.sharedBindings.at(ii).start.line));
+ output.append(":");
+ output.append(QByteArray::number(stat.sharedBindings.at(ii).start.column));
+ output.append(") ");
+ }
+ if (!output.isEmpty())
+ qWarning().nospace() << output.constData();
+ }
+
qWarning().nospace() << " QScript Bindings: " << stat.scriptBindings.count();
{
QByteArray output;
diff --git a/src/declarative/qml/qdeclarativecompiler_p.h b/src/declarative/qml/qdeclarativecompiler_p.h
index 637cd80569..3ef4668b79 100644
--- a/src/declarative/qml/qdeclarativecompiler_p.h
+++ b/src/declarative/qml/qdeclarativecompiler_p.h
@@ -450,6 +450,7 @@ private:
int ids;
QList<QDeclarativeScript::LocationSpan> scriptBindings;
+ QList<QDeclarativeScript::LocationSpan> sharedBindings;
QList<QDeclarativeScript::LocationSpan> optimizedBindings;
int objects;
};