aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4runtime.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@me.com>2013-10-09 10:47:11 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-10 09:54:36 +0200
commit14e0e0c000234f67613ea65e3fea1e9c3445844a (patch)
tree3a2cf837da6ef49b5704d7459b30c1bfe4251e6e /src/qml/jsruntime/qv4runtime.cpp
parentccfa06e7566f1c113a3c5c31dab3c5aeb7a4985d (diff)
V4 runtime: add some more counters.
Change-Id: I872f259a9fd4580e8faeae664f4d34f59a785c4e Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/jsruntime/qv4runtime.cpp')
-rw-r--r--src/qml/jsruntime/qv4runtime.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp
index 6e566953c7..6b3afcc300 100644
--- a/src/qml/jsruntime/qv4runtime.cpp
+++ b/src/qml/jsruntime/qv4runtime.cpp
@@ -114,6 +114,13 @@ struct RuntimeCounters::Data {
typedef QVector<quint64> Counters;
QHash<const char *, Counters> counters;
+ inline void count(const char *func) {
+ QVector<quint64> &cnt = counters[func];
+ if (cnt.isEmpty())
+ cnt.resize(64);
+ cnt[0] += 1;
+ }
+
inline void count(const char *func, unsigned tag) {
QVector<quint64> &cnt = counters[func];
if (cnt.isEmpty())
@@ -180,6 +187,11 @@ RuntimeCounters::~RuntimeCounters()
delete d;
}
+void RuntimeCounters::count(const char *func)
+{
+ d->count(func);
+}
+
void RuntimeCounters::count(const char *func, uint tag)
{
d->count(func, tag);
@@ -1077,31 +1089,37 @@ QV4::ReturnedValue __qmljs_to_object(QV4::ExecutionContext *ctx, const QV4::Valu
ReturnedValue __qmljs_value_to_double(const ValueRef value)
{
+ TRACE1(value);
return Encode(value->toNumber());
}
int __qmljs_value_to_int32(const ValueRef value)
{
+ TRACE1(value);
return value->toInt32();
}
int __qmljs_double_to_int32(const double &d)
{
+ TRACE0();
return Primitive::toInt32(d);
}
unsigned __qmljs_value_to_uint32(const ValueRef value)
{
+ TRACE1(value);
return value->toUInt32();
}
unsigned __qmljs_double_to_uint32(const double &d)
{
+ TRACE0();
return Primitive::toUInt32(d);
}
ReturnedValue __qmljs_value_from_string(String *string)
{
+ TRACE0();
return string->asReturnedValue();
}