[SCM] qtdeclarative packaging branch, ubuntu, updated. ubuntu/5.4.2-1ubuntu2-15-gfe9defd
Timo Jyrinki
timo at moszumanska.debian.org
Wed Aug 5 15:15:49 UTC 2015
Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=commitdiff;h=fe9defd
The following commit has been merged in the ubuntu branch:
commit fe9defd18a0e4b3588e3bb2e107f246519db1e2c
Author: Timo Jyrinki <timo.jyrinki at canonical.com>
Date: Wed Aug 5 15:15:41 2015 +0000
debian/patches/QML-Compilation-unit-caching-and-JIT-changes.patch
---
debian/changelog | 1 +
...-Compilation-unit-caching-and-JIT-changes.patch | 60 ++++++++--------------
debian/patches/series | 2 +-
3 files changed, 24 insertions(+), 39 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index e288499..7a93c56 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,7 @@ qtdeclarative-opensource-src (5.5.0-0ubuntu1) UNRELEASED; urgency=medium
* Rebase patches:
- debian/patches/Add-QQuickAsyncImageProvider.patch
- debian/patches/disable_failing_tests.patch
+ - debian/patches/QML-Compilation-unit-caching-and-JIT-changes.patch
* Update .install files.
* Skip tests also on ppc64el, they are flaky.
* Update symbols and mark/unmark private ones.
diff --git a/debian/patches/QML-Compilation-unit-caching-and-JIT-changes.patch b/debian/patches/QML-Compilation-unit-caching-and-JIT-changes.patch
index 073038b..015d67d 100644
--- a/debian/patches/QML-Compilation-unit-caching-and-JIT-changes.patch
+++ b/debian/patches/QML-Compilation-unit-caching-and-JIT-changes.patch
@@ -161,7 +161,7 @@ Index: qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qqmlirbuilder.cpp
const int importSize = sizeof(QV4::CompiledData::Import) * output.imports.count();
@@ -1527,7 +1532,6 @@ QV4::CompiledData::Unit *QmlUnitGenerato
- memcpy(data, jsUnit, unitSize);
+ memset(data + unitSize, 0, totalSize - unitSize);
if (jsUnit != compilationUnit->data)
free(jsUnit);
- jsUnit = 0;
@@ -241,17 +241,17 @@ Index: qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qv4compileddata_p.h
--- qtdeclarative-opensource-src-5.4.0.orig/src/qml/compiler/qv4compileddata_p.h
+++ qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qv4compileddata_p.h
@@ -594,6 +594,11 @@ struct Q_QML_PRIVATE_EXPORT CompilationU
- QV4::InternalClass **runtimeClasses;
QVector<QV4::Function *> runtimeFunctions;
+ mutable QQmlNullableValue<QUrl> m_url;
+#ifdef ENABLE_UNIT_CACHE
+ QVector<int> lookupTable;
+ bool isRestored;
+#endif
+
- QV4::Function *linkToEngine(QV4::ExecutionEngine *engine);
- void unlink();
-
+ // index is object index. This allows fast access to the
+ // property data when initializing bindings, avoiding expensive
+ // lookups by string (property name).
Index: qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qv4isel_moth_p.h
===================================================================
--- qtdeclarative-opensource-src-5.4.0.orig/src/qml/compiler/qv4isel_moth_p.h
@@ -273,8 +273,8 @@ Index: qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qv4isel_p.cpp
--- qtdeclarative-opensource-src-5.4.0.orig/src/qml/compiler/qv4isel_p.cpp
+++ qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qv4isel_p.cpp
@@ -3,6 +3,12 @@
- ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
- ** Contact: http://www.qt-project.org/legal
+ ** Copyright (C) 2015 The Qt Company Ltd.
+ ** Contact: http://www.qt.io/licensing/
**
+** Copyright (C) 2015 Nomovok Ltd. All rights reserved.
+** Contact: info at nomovok.com
@@ -285,9 +285,10 @@ Index: qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qv4isel_p.cpp
** This file is part of the QtQml module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
-@@ -41,6 +47,54 @@
+@@ -41,9 +47,65 @@
#include <QString>
++#include <QDataStream>
+#ifndef V4_UNIT_CACHE
+#undef ENABLE_UNIT_CACHE
@@ -306,7 +307,6 @@ Index: qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qv4isel_p.cpp
+#include <QStandardPaths>
+#include <QDir>
+#include <QFile>
-+#include <QDataStream>
+#include <QBuffer>
+#endif
+
@@ -337,10 +337,6 @@ Index: qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qv4isel_p.cpp
+ }
+}
+
- namespace {
- Q_GLOBAL_STATIC_WITH_ARGS(QTextStream, qout, (stderr, QIODevice::WriteOnly));
- #define qout *qout()
-@@ -49,6 +103,14 @@ Q_GLOBAL_STATIC_WITH_ARGS(QTextStream, q
using namespace QV4;
using namespace QV4::IR;
@@ -576,7 +572,7 @@ Index: qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qv4isel_p.cpp
+
+ int dummySize = -1; // Pass known value to trigger use of code buffer
+ tmpUnit->codeRefs[i] = as->link(&dummySize);
-+ Q_ASSERT(dummySize == (int)codeRefLen);
++ //Q_ASSERT(dummySize == (int)codeRefLen);
+
+ delete as;
+ }
@@ -730,7 +726,7 @@ Index: qtdeclarative-opensource-src-5.4.0/src/qml/jit/qv4assembler.cpp
@@ -69,7 +69,15 @@ void CompilationUnit::linkBackendToEngin
QV4::Function *runtimeFunction = new QV4::Function(engine, this, compiledFunction,
- (ReturnedValue (*)(QV4::ExecutionContext *, const uchar *)) codeRefs[i].code().executableAddress());
+ (ReturnedValue (*)(QV4::ExecutionEngine *, const uchar *)) codeRefs[i].code().executableAddress());
- runtimeFunctions[i] = runtimeFunction;
+
+#if ENABLE_UNIT_CACHE
@@ -1087,11 +1083,11 @@ Index: qtdeclarative-opensource-src-5.4.0/src/qml/jsruntime/qv4functionobject.cp
+++ qtdeclarative-opensource-src-5.4.0/src/qml/jsruntime/qv4functionobject.cpp
@@ -226,6 +226,7 @@ ReturnedValue FunctionCtor::construct(Ma
- QV4::Compiler::JSUnitGenerator jsGenerator(&module);
- QScopedPointer<EvalInstructionSelection> isel(v4->iselFactory->create(QQmlEnginePrivate::get(v4), v4->executableAllocator, &module, &jsGenerator));
-+ isel->setEngine(QQmlEnginePrivate::get(v4));
- QQmlRefPointer<QV4::CompiledData::CompilationUnit> compilationUnit = isel->compile();
- QV4::Function *vmf = compilationUnit->linkToEngine(v4);
+ Compiler::JSUnitGenerator jsGenerator(&module);
+ QScopedPointer<EvalInstructionSelection> isel(scope.engine->iselFactory->create(QQmlEnginePrivate::get(scope.engine), scope.engine->executableAllocator, &module, &jsGenerator));
++ isel->setEngine(QQmlEnginePrivate::get(scope.engine));
+ QQmlRefPointer<CompiledData::CompilationUnit> compilationUnit = isel->compile();
+ Function *vmf = compilationUnit->linkToEngine(scope.engine);
Index: qtdeclarative-opensource-src-5.4.0/src/qml/jsruntime/qv4qobjectwrapper.cpp
===================================================================
@@ -1133,37 +1129,25 @@ Index: qtdeclarative-opensource-src-5.4.0/src/qml/qml/qqmlengine.cpp
activeObjectCreator(0),
networkAccessManager(0), networkAccessManagerFactory(0), urlInterceptor(0),
scarceResourcesRefCount(0), typeLoader(e), importDatabase(e), uniqueId(1),
-- incubatorCount(0), incubationController(0), mutex(QMutex::Recursive)
-+ incubatorCount(0), incubationController(0), mutex(QMutex::Recursive),
+- incubatorCount(0), incubationController(0)
++ incubatorCount(0), incubationController(0),
+ qmlCacheValid(0)
{
- useNewCompiler = true;
}
+
Index: qtdeclarative-opensource-src-5.4.0/src/qml/qml/qqmlengine_p.h
===================================================================
--- qtdeclarative-opensource-src-5.4.0.orig/src/qml/qml/qqmlengine_p.h
+++ qtdeclarative-opensource-src-5.4.0/src/qml/qml/qqmlengine_p.h
@@ -263,6 +263,8 @@ public:
+
mutable QMutex networkAccessManagerMutex;
- mutable QMutex mutex;
+ int qmlCacheValid;
+
private:
- // Locker locks the QQmlEnginePrivate data structures for read and write, if necessary.
- // Currently, locking is only necessary if the threaded loader is running concurrently. If it is
-Index: qtdeclarative-opensource-src-5.4.0/src/qml/qml/qqmljavascriptexpression.cpp
-===================================================================
---- qtdeclarative-opensource-src-5.4.0.orig/src/qml/qml/qqmljavascriptexpression.cpp
-+++ qtdeclarative-opensource-src-5.4.0/src/qml/qml/qqmljavascriptexpression.cpp
-@@ -327,6 +327,7 @@ QV4::ReturnedValue QQmlJavaScriptExpress
-
- QV4::ScopedObject qmlScopeObject(scope, QV4::QmlContextWrapper::qmlScope(ep->v8engine(), ctxt, qmlScope));
- QV4::Script script(v4, qmlScopeObject, code, filename, line);
-+
- QV4::ScopedValue result(scope);
- script.parse();
- if (!v4->hasException)
+ // Must be called locked
+ QQmlPropertyCache *createCache(QQmlType *, int, QQmlError &error);
Index: qtdeclarative-opensource-src-5.4.0/src/qml/compiler/qv4isel_moth.cpp
===================================================================
--- qtdeclarative-opensource-src-5.4.0.orig/src/qml/compiler/qv4isel_moth.cpp
diff --git a/debian/patches/series b/debian/patches/series
index 0220c32..0ccbf21 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,5 @@
fix_binary_location_for_tests.patch
disable_failing_tests.patch
-#QML-Compilation-unit-caching-and-JIT-changes.patch
+QML-Compilation-unit-caching-and-JIT-changes.patch
Make-sure-we-stop-animators-if-they-are-yet-to-be-st.patch
Add-QQuickAsyncImageProvider.patch
--
qtdeclarative packaging
More information about the pkg-kde-commits
mailing list