diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2012-03-01 10:34:01 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-02 04:53:14 +0100 |
commit | a7c56b79d2f682b1e82b6b92d11fc942148d8c3b (patch) | |
tree | 54074a1bda6d0a94aa4e5a0e6269812ade4a428a /src | |
parent | 07aea54a90c9bee45420893be1be9761a3a488d9 (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.cpp | 28 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativecompiler_p.h | 1 |
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; }; |