aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4profiling_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/jsruntime/qv4profiling_p.h')
-rw-r--r--src/qml/jsruntime/qv4profiling_p.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/qml/jsruntime/qv4profiling_p.h b/src/qml/jsruntime/qv4profiling_p.h
index 25ef8223bf..bb128b7cf3 100644
--- a/src/qml/jsruntime/qv4profiling_p.h
+++ b/src/qml/jsruntime/qv4profiling_p.h
@@ -77,12 +77,28 @@ enum MemoryType {
struct FunctionCallProperties {
qint64 start;
qint64 end;
+ quintptr id;
+};
+
+struct FunctionLocation {
+ FunctionLocation(const QString &name = QString(), const QString &file = QString(),
+ int line = -1, int column = -1) :
+ name(name), file(file), line(line), column(column)
+ {}
+
+ bool isValid()
+ {
+ return !name.isEmpty();
+ }
+
QString name;
QString file;
int line;
int column;
};
+typedef QHash<quintptr, QV4::Profiling::FunctionLocation> FunctionLocationHash;
+
struct MemoryAllocationProperties {
qint64 timestamp;
qint64 size;
@@ -118,7 +134,8 @@ public:
return *this;
}
- FunctionCallProperties resolve() const;
+ FunctionLocation resolveLocation() const;
+ FunctionCallProperties properties() const;
private:
friend bool operator<(const FunctionCall &call1, const FunctionCall &call2);
@@ -173,7 +190,8 @@ public slots:
void setTimer(const QElapsedTimer &timer) { m_timer = timer; }
signals:
- void dataReady(const QVector<QV4::Profiling::FunctionCallProperties> &,
+ void dataReady(const QV4::Profiling::FunctionLocationHash &,
+ const QVector<QV4::Profiling::FunctionCallProperties> &,
const QVector<QV4::Profiling::MemoryAllocationProperties> &);
private:
@@ -218,8 +236,10 @@ public:
Q_DECLARE_TYPEINFO(QV4::Profiling::MemoryAllocationProperties, Q_MOVABLE_TYPE);
Q_DECLARE_TYPEINFO(QV4::Profiling::FunctionCallProperties, Q_MOVABLE_TYPE);
Q_DECLARE_TYPEINFO(QV4::Profiling::FunctionCall, Q_MOVABLE_TYPE);
+Q_DECLARE_TYPEINFO(QV4::Profiling::FunctionLocation, Q_MOVABLE_TYPE);
QT_END_NAMESPACE
+Q_DECLARE_METATYPE(QV4::Profiling::FunctionLocationHash)
Q_DECLARE_METATYPE(QVector<QV4::Profiling::FunctionCallProperties>)
Q_DECLARE_METATYPE(QVector<QV4::Profiling::MemoryAllocationProperties>)