From 6b79bba985858497f6a0786b4bd0d20a0d839017 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Fri, 9 Sep 2016 11:12:24 +0200 Subject: [PATCH] QmlProfiler: Don't accept compile events in memory usage model As compiling happens asynchronously it messes up the stack based approach used to attribute memory usage to QML/JS events. Compiling generally doesn't use the JavaScript heap, so we can ignore it here. Change-Id: If8cc4b0ad2b8c2e0531260a8b92b7e2cd76a6d56 Reviewed-by: Kai Koehne --- src/plugins/qmlprofiler/memoryusagemodel.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmlprofiler/memoryusagemodel.cpp b/src/plugins/qmlprofiler/memoryusagemodel.cpp index 939e95614e1..3a30dd7320a 100644 --- a/src/plugins/qmlprofiler/memoryusagemodel.cpp +++ b/src/plugins/qmlprofiler/memoryusagemodel.cpp @@ -36,7 +36,7 @@ MemoryUsageModel::MemoryUsageModel(QmlProfilerModelManager *manager, QObject *pa QmlProfilerTimelineModel(manager, MemoryAllocation, MaximumRangeType, ProfileMemory, parent) { // Announce additional features. The base class already announces the main feature. - announceFeatures(Constants::QML_JS_RANGE_FEATURES); + announceFeatures(Constants::QML_JS_RANGE_FEATURES ^ (1 << Compiling)); } int MemoryUsageModel::rowMaxValue(int rowNumber) const @@ -128,7 +128,8 @@ QVariantMap MemoryUsageModel::details(int index) const bool MemoryUsageModel::accepted(const QmlEventType &type) const { - return QmlProfilerTimelineModel::accepted(type) || type.rangeType() != MaximumRangeType; + return QmlProfilerTimelineModel::accepted(type) + || (type.rangeType() != MaximumRangeType && type.rangeType() != Compiling); } void MemoryUsageModel::loadEvent(const QmlEvent &event, const QmlEventType &type)