[SCM] qtdeclarative packaging branch, master, updated. debian/5.7.1-20161021-5-5-gcc7e2bb

Dmitry Shachnev mitya57 at moszumanska.debian.org
Wed Dec 14 15:06:09 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/qt/qtdeclarative.git;a=commitdiff;h=cc7e2bb

The following commit has been merged in the master branch:
commit cc7e2bba863d2a1a35b7b974f39eef179d8386d1
Author: Dmitry Shachnev <mitya57 at gmail.com>
Date:   Wed Dec 14 18:05:59 2016 +0300

    Drop fix_tags_types.diff, applied upstream.
---
 debian/changelog                   |   3 +-
 debian/patches/fix_tags_types.diff | 184 -------------------------------------
 debian/patches/series              |   1 -
 3 files changed, 2 insertions(+), 186 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 2ca46f6..a6b433e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,9 @@
-qtdeclarative-opensource-src (5.7.1~20161021-6) UNRELEASED; urgency=medium
+qtdeclarative-opensource-src (5.7.1-1) UNRELEASED; urgency=medium
 
   [ Dmitry Shachnev ]
   * New upstream final release.
   * Drop revert_c9ffed92.diff, the issue has been properly fixed upstream.
+  * Drop fix_tags_types.diff, applied upstream.
   * Bump qtbase build-dependencies to 5.7.1 final.
 
  -- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>  Wed, 14 Dec 2016 13:15:01 +0300
diff --git a/debian/patches/fix_tags_types.diff b/debian/patches/fix_tags_types.diff
deleted file mode 100644
index 76799cb..0000000
--- a/debian/patches/fix_tags_types.diff
+++ /dev/null
@@ -1,184 +0,0 @@
-Description: V4: fix usage of QV4::Value tags/types
-Origin: upstream, https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=9d2169a2d8b81b87
-Bug: https://bugreports.qt.io/browse/QTBUG-56471
-Last-Update: 2016-10-17
-
---- a/src/qml/jit/qv4isel_masm.cpp
-+++ b/src/qml/jit/qv4isel_masm.cpp
-@@ -971,7 +971,7 @@
-                 tag = QV4::Value::Integer_Type_Internal;
-                 break;
-             default:
--                tag = QV4::Value::Undefined_Type;
-+                tag = 31337; // bogus value
-                 Q_UNREACHABLE();
-             }
-             _as->store32(Assembler::TrustedImm32(tag), addr);
-@@ -1418,7 +1418,7 @@
-             Address temp = _as->loadAddress(Assembler::ScratchRegister, s->cond);
-             Address tag = temp;
-             tag.offset += QV4::Value::tagOffset();
--            Assembler::Jump booleanConversion = _as->branch32(Assembler::NotEqual, tag, Assembler::TrustedImm32(QV4::Value::Boolean_Type));
-+            Assembler::Jump booleanConversion = _as->branch32(Assembler::NotEqual, tag, Assembler::TrustedImm32(QV4::Value::Boolean_Type_Internal));
- 
-             Address data = temp;
-             data.offset += QV4::Value::valueOffset();
-@@ -1582,7 +1582,7 @@
-                     tag = QV4::Value::Boolean_Type_Internal;
-                     break;
-                 default:
--                    tag = QV4::Value::Undefined_Type;
-+                    tag = 31337; // bogus value
-                     Q_UNREACHABLE();
-                 }
-                 _as->or64(Assembler::TrustedImm64(tag << 32),
---- a/src/qml/jsruntime/qv4arraydata.cpp
-+++ b/src/qml/jsruntime/qv4arraydata.cpp
-@@ -100,7 +100,7 @@
- static Q_ALWAYS_INLINE void storeValue(ReturnedValue *target, uint value)
- {
-     Value v;
--    v.setTagValue(Value::fromReturnedValue(*target).tag(), value);
-+    v.setEmpty(value);
-     *target = v.asReturnedValue();
- }
- 
-@@ -189,6 +189,7 @@
-     } else {
-         sparse->sparse = new SparseArray;
-         lastFree = &sparse->freeList;
-+        storeValue(lastFree, 0);
-         for (uint i = 0; i < toCopy; ++i) {
-             if (!sparse->arrayData[i].isEmpty()) {
-                 SparseArrayNode *n = sparse->sparse->insert(i);
-@@ -209,6 +210,8 @@
-         }
-         storeValue(lastFree, UINT_MAX);
-     }
-+
-+    Q_ASSERT(Value::fromReturnedValue(sparse->freeList).isEmpty());
-     // ### Could explicitly free the old data
- }
- 
-@@ -357,12 +360,12 @@
-     Value *v = d->arrayData + idx;
-     if (d->attrs && d->attrs[idx].isAccessor()) {
-         // double slot, free both. Order is important, so we have a double slot for allocation again afterwards.
--        v[1].setTagValue(Value::Empty_Type, Value::fromReturnedValue(d->freeList).value());
--        v[0].setTagValue(Value::Empty_Type, idx + 1);
-+        v[1].setEmpty(Value::fromReturnedValue(d->freeList).emptyValue());
-+        v[0].setEmpty(idx + 1);
-     } else {
--        v->setTagValue(Value::Empty_Type, Value::fromReturnedValue(d->freeList).value());
-+        v->setEmpty(Value::fromReturnedValue(d->freeList).emptyValue());
-     }
--    d->freeList = idx;
-+    d->freeList = Primitive::emptyValue(idx).asReturnedValue();
-     if (d->attrs)
-         d->attrs[idx].clear();
- }
-@@ -400,9 +403,9 @@
-             Q_ASSERT(dd->arrayData[Value::fromReturnedValue(*last).value()].value() != Value::fromReturnedValue(*last).value());
-             if (dd->arrayData[Value::fromReturnedValue(*last).value()].value() == (Value::fromReturnedValue(*last).value() + 1)) {
-                 // found two slots in a row
--                uint idx = Value::fromReturnedValue(*last).uint_32();
-+                uint idx = Value::fromReturnedValue(*last).emptyValue();
-                 Value lastV = Value::fromReturnedValue(*last);
--                lastV.setTagValue(lastV.tag(), dd->arrayData[lastV.value() + 1].value());
-+                lastV.setEmpty(dd->arrayData[lastV.emptyValue() + 1].value());
-                 *last = lastV.rawValue();
-                 dd->attrs[idx] = Attr_Accessor;
-                 return idx;
-@@ -416,7 +419,8 @@
-         }
-         uint idx = Value::fromReturnedValue(dd->freeList).value();
-         Q_ASSERT(idx != UINT_MAX);
--        dd->freeList = dd->arrayData[idx].uint_32();
-+        dd->freeList = dd->arrayData[idx].asReturnedValue();
-+        Q_ASSERT(Value::fromReturnedValue(dd->freeList).isEmpty());
-         if (dd->attrs)
-             dd->attrs[idx] = Attr_Data;
-         return idx;
-@@ -471,13 +475,14 @@
- 
-     if (isAccessor) {
-         // free up both indices
--        dd->arrayData[pidx + 1].setTagValue(Value::Empty_Type, Value::fromReturnedValue(dd->freeList).value());
--        dd->arrayData[pidx].setTagValue(Value::Undefined_Type, pidx + 1);
-+        dd->arrayData[pidx + 1].setEmpty(Value::fromReturnedValue(dd->freeList).emptyValue());
-+        dd->arrayData[pidx].setEmpty(pidx + 1);
-     } else {
--        dd->arrayData[pidx].setTagValue(Value::Empty_Type, Value::fromReturnedValue(dd->freeList).value());
-+        Q_ASSERT(dd->type == Heap::ArrayData::Sparse);
-+        dd->arrayData[pidx].setEmpty(Value::fromReturnedValue(dd->freeList).emptyValue());
-     }
- 
--    dd->freeList = pidx;
-+    dd->freeList = Primitive::emptyValue(pidx).asReturnedValue();
-     dd->sparse->erase(n);
-     return true;
- }
---- a/src/qml/jsruntime/qv4persistent.cpp
-+++ b/src/qml/jsruntime/qv4persistent.cpp
-@@ -139,7 +139,7 @@
-     while (p) {
-         while (index < kEntriesPerPage - 1) {
-             ++index;
--            if (static_cast<Page *>(p)->values[index].tag() != QV4::Value::Empty_Type)
-+            if (!static_cast<Page *>(p)->values[index].isEmpty())
-                 return *this;
-         }
-         index = -1;
---- a/src/qml/jsruntime/qv4value_p.h
-+++ b/src/qml/jsruntime/qv4value_p.h
-@@ -226,6 +226,17 @@
-         setTagValue(Empty_Type_Internal, quint32(i));
-     }
- 
-+    Q_ALWAYS_INLINE void setEmpty(quint32 i)
-+    {
-+        setTagValue(Empty_Type_Internal, i);
-+    }
-+
-+    Q_ALWAYS_INLINE quint32 emptyValue()
-+    {
-+        Q_ASSERT(isEmpty());
-+        return quint32(value());
-+    }
-+
-     enum Type {
-         Undefined_Type,
-         Managed_Type,
-@@ -530,6 +541,7 @@
- struct Q_QML_PRIVATE_EXPORT Primitive : public Value
- {
-     inline static Primitive emptyValue();
-+    inline static Primitive emptyValue(uint v);
-     static inline Primitive fromBoolean(bool b);
-     static inline Primitive fromInt32(int i);
-     inline static Primitive undefinedValue();
-@@ -559,6 +571,13 @@
-     return v;
- }
- 
-+inline Primitive Primitive::emptyValue(uint e)
-+{
-+    Primitive v;
-+    v.setEmpty(e);
-+    return v;
-+}
-+
- inline Primitive Primitive::nullValue()
- {
-     Primitive v;
---- a/src/qml/memory/qv4mm.cpp
-+++ b/src/qml/memory/qv4mm.cpp
-@@ -460,7 +460,7 @@
-         remainingWeakQObjectWrappers.reserve(pendingCount);
-         for (int i = 0; i < pendingCount; ++i) {
-             Value *v = m_pendingFreedObjectWrapperValue.at(i);
--            if (v->tag() == Value::Undefined_Type)
-+            if (v->isUndefined() || v->isEmpty())
-                 PersistentValueStorage::free(v);
-             else
-                 remainingWeakQObjectWrappers.append(v);
diff --git a/debian/patches/series b/debian/patches/series
index 67c2b27..a8d53d1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,5 @@
 # Backported patches
 fix_tst_qqmlapplicationengine.diff
-fix_tags_types.diff
 
 # Debian patches
 disableopengltests.patch

-- 
qtdeclarative packaging



More information about the pkg-kde-commits mailing list