diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2012-06-11 21:26:23 +0200 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2019-12-08 10:29:17 +0100 |
commit | 812a611dc05e5facd036856625ccb9274fdcb117 (patch) | |
tree | 06151f35165e3b2ae614d21be65e4555e19f45e7 /tests/auto/corelib/tools | |
parent | 62c673ccc6f81cee09a25f5acceec2768cea4672 (diff) |
Stop using the reference counter to store data state
Instead of using the reference count to store whether the data is
sharable and whether the header is immutable, move the settings to the
flags member. This allows us to save one comparison per deref() or
needsDetach(). It also allows for the possibility of mutable data
pointed to by a static header.
Change-Id: Ie678a2ff2bb9bce73497cb6138b431c465b0f3bb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tests/auto/corelib/tools')
-rw-r--r-- | tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp b/tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp index b8bf9f4106..44066e29a1 100644 --- a/tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp +++ b/tests/auto/corelib/tools/qarraydata/tst_qarraydata.cpp @@ -84,42 +84,42 @@ void tst_QArrayData::referenceCounting() { { // Reference counting initialized to 1 (owned) - QArrayData array = { { Q_BASIC_ATOMIC_INITIALIZER(1) }, QArrayData::DefaultRawFlags, 0, 0, 0 }; + QArrayData array = { Q_BASIC_ATOMIC_INITIALIZER(1), QArrayData::DefaultRawFlags, 0, 0, 0 }; - QCOMPARE(array.ref_.atomic.loadRelaxed(), 1); + QCOMPARE(array.ref_.loadRelaxed(), 1); QVERIFY(!array.isStatic()); QVERIFY(array.ref()); - QCOMPARE(array.ref_.atomic.loadRelaxed(), 2); + QCOMPARE(array.ref_.loadRelaxed(), 2); QVERIFY(array.deref()); - QCOMPARE(array.ref_.atomic.loadRelaxed(), 1); + QCOMPARE(array.ref_.loadRelaxed(), 1); QVERIFY(array.ref()); - QCOMPARE(array.ref_.atomic.loadRelaxed(), 2); + QCOMPARE(array.ref_.loadRelaxed(), 2); QVERIFY(array.deref()); - QCOMPARE(array.ref_.atomic.loadRelaxed(), 1); + QCOMPARE(array.ref_.loadRelaxed(), 1); QVERIFY(!array.deref()); - QCOMPARE(array.ref_.atomic.loadRelaxed(), 0); + QCOMPARE(array.ref_.loadRelaxed(), 0); // Now would be a good time to free/release allocated data } { // Reference counting initialized to -1 (static read-only data) - QArrayData array = { Q_REFCOUNT_INITIALIZE_STATIC, QArrayData::StaticDataFlags, 0, 0, 0 }; + QArrayData array = { Q_BASIC_ATOMIC_INITIALIZER(-1), QArrayData::StaticDataFlags, 0, 0, 0 }; - QCOMPARE(array.ref_.atomic.loadRelaxed(), -1); + QCOMPARE(array.ref_.loadRelaxed(), -1); QVERIFY(array.isStatic()); QVERIFY(array.ref()); - QCOMPARE(array.ref_.atomic.loadRelaxed(), -1); + QCOMPARE(array.ref_.loadRelaxed(), -1); QVERIFY(array.deref()); - QCOMPARE(array.ref_.atomic.loadRelaxed(), -1); + QCOMPARE(array.ref_.loadRelaxed(), -1); } } @@ -135,17 +135,17 @@ void tst_QArrayData::sharedNullEmpty() QVERIFY(empty->isStatic()); QVERIFY(empty->isShared()); - QCOMPARE(null->ref_.atomic.loadRelaxed(), -1); - QCOMPARE(empty->ref_.atomic.loadRelaxed(), -1); + QCOMPARE(null->ref_.loadRelaxed(), -1); + QCOMPARE(empty->ref_.loadRelaxed(), -1); - QCOMPARE(null->ref_.atomic.loadRelaxed(), -1); - QCOMPARE(empty->ref_.atomic.loadRelaxed(), -1); + QCOMPARE(null->ref_.loadRelaxed(), -1); + QCOMPARE(empty->ref_.loadRelaxed(), -1); QVERIFY(null->deref()); QVERIFY(empty->deref()); - QCOMPARE(null->ref_.atomic.loadRelaxed(), -1); - QCOMPARE(empty->ref_.atomic.loadRelaxed(), -1); + QCOMPARE(null->ref_.loadRelaxed(), -1); + QCOMPARE(empty->ref_.loadRelaxed(), -1); QVERIFY(null != empty); @@ -1247,7 +1247,7 @@ void fromRawData_impl() { // Default: Immutable, sharable SimpleVector<T> raw = SimpleVector<T>::fromRawData(array, - sizeof(array)/sizeof(array[0]), QArrayData::DefaultAllocationFlags); + sizeof(array)/sizeof(array[0]), QArrayData::DefaultRawFlags); QCOMPARE(raw.size(), size_t(11)); QCOMPARE((const T *)raw.constBegin(), array); |