diff options
author | Erik Verbruggen <erik.verbruggen@theqtcompany.com> | 2016-04-20 13:39:58 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2016-05-10 08:17:00 +0000 |
commit | c6c0d730b7a88fa22f40d597183e91b73d9d165d (patch) | |
tree | 721fe747e03d5157f53a72992e71e33c2d1e72f9 /tests/auto/quick/qquickstates | |
parent | b697f511ab226079c161ea68c18ac85c5533d3cc (diff) |
QML: Remove internal field padding from QQuickAnchorPrivate.
Don't store QQuickAnchorLine, but store both fields separately in
QQuickAnchorPrivate. This prevents padding of QQuickAnchorLine, saving
48 bytes on x86_64 (or any platform where structs are 8-byte aligned).
On x86_64, this also removes ~180 instructions for each QQuickAnchor
creation/removal, and speeds up the constructor by 25%.
While in the neighborhood, do a drive-by change and merge
QQuickAnchorLine::AnchorLine and QQuickAnchors::Anchor by removing the
former.
Change-Id: I50ab6252b1903f5f1a075174e6185c3048a8f8ec
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Diffstat (limited to 'tests/auto/quick/qquickstates')
-rw-r--r-- | tests/auto/quick/qquickstates/tst_qquickstates.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tests/auto/quick/qquickstates/tst_qquickstates.cpp b/tests/auto/quick/qquickstates/tst_qquickstates.cpp index 562d53bceb..9b152b0676 100644 --- a/tests/auto/quick/qquickstates/tst_qquickstates.cpp +++ b/tests/auto/quick/qquickstates/tst_qquickstates.cpp @@ -698,7 +698,7 @@ void tst_qquickstates::anchorChanges() rectPrivate->setState("right"); QCOMPARE(innerRect->x(), qreal(150)); QCOMPARE(aChanges->object(), qobject_cast<QQuickItem*>(innerRect)); - QCOMPARE(QQuickItemPrivate::get(aChanges->object())->anchors()->left().anchorLine, QQuickAnchorLine::Invalid); //### was reset (how do we distinguish from not set at all) + QCOMPARE(QQuickItemPrivate::get(aChanges->object())->anchors()->left().anchorLine, QQuickAnchors::InvalidAnchor); //### was reset (how do we distinguish from not set at all) QCOMPARE(QQuickItemPrivate::get(aChanges->object())->anchors()->right().item, rectPrivate->right().item); QCOMPARE(QQuickItemPrivate::get(aChanges->object())->anchors()->right().anchorLine, rectPrivate->right().anchorLine); @@ -891,7 +891,7 @@ void tst_qquickstates::anchorChangesRTL() rectPrivate->setState("right"); QCOMPARE(innerRect->x(), offsetRTL(rect, innerRect) - qreal(150)); QCOMPARE(aChanges->object(), qobject_cast<QQuickItem*>(innerRect)); - QCOMPARE(QQuickItemPrivate::get(aChanges->object())->anchors()->left().anchorLine, QQuickAnchorLine::Invalid); //### was reset (how do we distinguish from not set at all) + QCOMPARE(QQuickItemPrivate::get(aChanges->object())->anchors()->left().anchorLine, QQuickAnchors::InvalidAnchor); //### was reset (how do we distinguish from not set at all) QCOMPARE(QQuickItemPrivate::get(aChanges->object())->anchors()->right().item, rectPrivate->right().item); QCOMPARE(QQuickItemPrivate::get(aChanges->object())->anchors()->right().anchorLine, rectPrivate->right().anchorLine); |