From 7f7d87c68da4cb29b2b2b9c324c6863228da0c26 Mon Sep 17 00:00:00 2001 From: Ulf Hermann Date: Tue, 7 May 2019 12:47:33 +0200 Subject: Split CompiledData::CompilationUnit in two We need a CompilationUnit that only holds the data needed for compilation and another one that is executable by the runtime. Change-Id: I704d859ba028576a18460f5e3a59f210f64535d3 Reviewed-by: Simon Hausmann --- src/qml/debugger/qqmlprofiler_p.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'src/qml/debugger') diff --git a/src/qml/debugger/qqmlprofiler_p.h b/src/qml/debugger/qqmlprofiler_p.h index d01e2bc429..d3eedab1c6 100644 --- a/src/qml/debugger/qqmlprofiler_p.h +++ b/src/qml/debugger/qqmlprofiler_p.h @@ -171,10 +171,11 @@ public: : Location(ref->sourceLocation()), locationType(Binding), sent(false) { function = ref; - function->compilationUnit->addref(); + function->executableCompilationUnit()->addref(); } - RefLocation(QV4::CompiledData::CompilationUnit *ref, const QUrl &url, const QV4::CompiledData::Object *obj, const QString &type) + RefLocation(QV4::ExecutableCompilationUnit *ref, const QUrl &url, + const QV4::CompiledData::Object *obj, const QString &type) : Location(QQmlSourceLocation(type, obj->location.line, obj->location.column), url), locationType(Creating), sent(false) { @@ -230,7 +231,7 @@ public: switch (locationType) { case Binding: - function->compilationUnit->addref(); + function->executableCompilationUnit()->addref(); break; case Creating: unit->addref(); @@ -254,7 +255,7 @@ public: switch (locationType) { case Binding: - function->compilationUnit->release(); + function->executableCompilationUnit()->release(); break; case Creating: unit->release(); @@ -284,7 +285,7 @@ public: RangeType locationType; union { QV4::Function *function; - QV4::CompiledData::CompilationUnit *unit; + QV4::ExecutableCompilationUnit *unit; QQmlBoundSignalExpression *boundSignal; QQmlDataBlob *blob; void *something; @@ -356,7 +357,7 @@ public: } void updateCreating(const QV4::CompiledData::Object *obj, - QV4::CompiledData::CompilationUnit *ref, + QV4::ExecutableCompilationUnit *ref, const QUrl &url, const QString &type) { quintptr locationId(id(obj)); @@ -492,7 +493,7 @@ public: Q_QML_PROFILE(QQmlProfilerDefinitions::ProfileCreating, profiler, endRange()); } - void update(QV4::CompiledData::CompilationUnit *ref, const QV4::CompiledData::Object *obj, + void update(QV4::ExecutableCompilationUnit *ref, const QV4::CompiledData::Object *obj, const QString &typeName, const QUrl &url) { profiler->updateCreating(obj, ref, url, typeName); -- cgit v1.2.3