diff options
author | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-09-16 13:23:19 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@theqtcompany.com> | 2015-10-15 08:23:15 +0000 |
commit | 2f03049d4cabfac822bcf6b5886b078d70064968 (patch) | |
tree | e79c7cdc5e300d8889d0525d0a3b1f5582921aa1 /src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp | |
parent | 1a123472ba0e56d1fd772db430e6d4532f672a6e (diff) |
Put QPacketProtocol into its own static library
We need it in 3 places in qtdeclarative and we could also use it in
QtCreator. We don't want to bundle it with the debug client code as it
is also necessary for the server.
QPacket replaces QQmlDebugStream as it has the same purpose. This
also fixes the inconsitent handling of data stream versions.
Change-Id: I650fae353f267511c551b427d9169f4d718aa7f2
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp')
-rw-r--r-- | src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp b/src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp index 3498555f65..991ef4b6ba 100644 --- a/src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp +++ b/src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp @@ -34,6 +34,8 @@ #include "qv4profileradapter.h" #include "qqmlprofilerservice.h" +#include <private/qpacket_p.h> + QT_BEGIN_NAMESPACE QV4ProfilerAdapter::QV4ProfilerAdapter(QQmlProfilerService *service, QV4::ExecutionEngine *engine) : @@ -62,13 +64,12 @@ QV4ProfilerAdapter::QV4ProfilerAdapter(QQmlProfilerService *service, QV4::Execut qint64 QV4ProfilerAdapter::appendMemoryEvents(qint64 until, QList<QByteArray> &messages) { - QByteArray message; while (m_memoryData.length() > m_memoryPos && m_memoryData[m_memoryPos].timestamp <= until) { - QQmlDebugStream d(&message, QIODevice::WriteOnly); + QPacket d; QV4::Profiling::MemoryAllocationProperties &props = m_memoryData[m_memoryPos]; d << props.timestamp << MemoryAllocation << props.type << props.size; ++m_memoryPos; - messages.append(message); + messages.append(d.data()); } return m_memoryData.length() == m_memoryPos ? -1 : m_memoryData[m_memoryPos].timestamp; } @@ -94,7 +95,6 @@ qint64 QV4ProfilerAdapter::finalizeMessages(qint64 until, QList<QByteArray> &mes qint64 QV4ProfilerAdapter::sendMessages(qint64 until, QList<QByteArray> &messages) { - QByteArray message; while (true) { while (!m_stack.isEmpty() && (m_functionCallPos == m_functionCallData.length() || @@ -103,9 +103,9 @@ qint64 QV4ProfilerAdapter::sendMessages(qint64 until, QList<QByteArray> &message return finalizeMessages(until, messages, m_stack.top()); appendMemoryEvents(m_stack.top(), messages); - QQmlDebugStream d(&message, QIODevice::WriteOnly); + QPacket d; d << m_stack.pop() << RangeEnd << Javascript; - messages.append(message); + messages.append(d.data()); } while (m_functionCallPos != m_functionCallData.length() && (m_stack.empty() || m_functionCallData[m_functionCallPos].start < m_stack.top())) { @@ -116,19 +116,16 @@ qint64 QV4ProfilerAdapter::sendMessages(qint64 until, QList<QByteArray> &message appendMemoryEvents(props.start, messages); - QQmlDebugStream d_start(&message, QIODevice::WriteOnly); + QPacket d_start; d_start << props.start << RangeStart << Javascript; - messages.push_back(message); - message.clear(); - QQmlDebugStream d_location(&message, QIODevice::WriteOnly); + messages.push_back(d_start.data()); + QPacket d_location; d_location << props.start << RangeLocation << Javascript << props.file << props.line << props.column; - messages.push_back(message); - message.clear(); - QQmlDebugStream d_data(&message, QIODevice::WriteOnly); + messages.push_back(d_location.data()); + QPacket d_data; d_data << props.start << RangeData << Javascript << props.name; - messages.push_back(message); - message.clear(); + messages.push_back(d_data.data()); m_stack.push(props.end); ++m_functionCallPos; } |