aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* V4 IR: do edge splitting after SSA transformationErik Verbruggen2014-01-161-8/+58
| | | | | | | | | | | | | | | This reduces the work for the dominator tree/frontier calculations, because there are less blocks to consider. All blocks inserted by splitting the critical edges, have (by definition) no effect on the dominator calculations. However, the immediate dominators for all new blocks needs to be added, because this information is used by the block scheduling. This change reduces memory/time usage during optimization passes, especially when processing excessively big switch statements. Change-Id: Ia69882e9dabdddffa1c98b1079012d8d988e1e8f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* V4: lower memory allocator pressure.Erik Verbruggen2014-01-163-77/+95
| | | | | | | | | | | | | Changes to datastructures and more re-using of locally used temporary vectors. For the test regress-74474-002.js this lowers the total allocated memory from 1.98GB to 158MB. Thse peak memory usage stays at 75MB. There is no functional change. This should give a modest performance improvement which mainly depends on the speed of malloc()/free(). Change-Id: I1877c1903e59a33ee79ff2b801ef6f2c1cee30a6 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* V4 IR: update immediate dominators when purging unreachable basic-blocksErik Verbruggen2014-01-161-13/+19
| | | | | | | | | The basic block scheduling uses this information to place loops. When the immediate dominator information is invalid, the scheduling can be sub-optimal, or will sometimes forget to schedule some blocks. Change-Id: Iaeb45f2b757b676310be25a658ceadc07d5722ec Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Revert "Support batching of rotated antialiased elements."Gunnar Sletta2014-01-161-5/+6
| | | | | | | | | This patch broke scaled text rendering This reverts commit 6acaa1c42936f89d74324be9c0cce4873a9a565b. Change-Id: I1f7a3ba0556f6d59bc1e28946631be2d9fc2b67d Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* V4: remove unnecessary spills and order them correctly.Erik Verbruggen2014-01-163-21/+31
| | | | | | | | | | | | | | | | | | | When doing edge resolving, too many spills were generated, and the dependency tracking of moves was not complete. Now we only insert spills that are caused by phi-nodes (because any other spill would be generated at the point a variable was defined). However, there can still be multiple dependencies between the moves generated by the edge resolving. Instead of only checking the first dependency, all of them are tracked. The bug report was a case where an unneccesary spill was generated, that got tracked, but "suppressed" the other (valid!) dependent move. The randomness was caused by the hash seeding of QHash. Task-number: QTBUG-35840 Change-Id: Ifbc3c8fc13de53c46a8b5859721b2497189921a3 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* On Mac only editable ComboBox should receive tab focusFrederik Gladhorn2014-01-112-2/+9
| | | | | | | | | [ChangeLog][QtQuickControls] Mac: ComboBox will only get tab focus when it is editable. Change-Id: Ife04de67b2e3dea77ba878b247ad0b676c879c02 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Make qtdeclarative compile with QT_NO_TRANSLATIONTasuku Suzuki2014-01-101-3/+5
| | | | | | Change-Id: I73efc8c568e2368bc804eacab9e8f9cced8a030b Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* not build QQmlSettings when QT_NO_SETTINGS is definedTasuku Suzuki2014-01-101-0/+3
| | | | | | | | The current implementation is based on QSettings. Change-Id: I2e45070dabaf915b1c1b9f4e7c63b6c3e36e48a0 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Support batching of rotated antialiased elements.Gunnar Sletta2014-01-101-6/+5
| | | | | Change-Id: I0522a23617c897aff01b7b50e0af98553374d792 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Doc: Fix current QtQuick module version.Takumi Asaki2014-01-101-2/+2
| | | | | Change-Id: I8056757967ff2693f69b5a7afa11a00ca826ece0 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Fix bad cast of virtual class to base class via reinterpret_castThiago Macieira2014-01-101-1/+1
| | | | | | | | | | | | | | | | | | | Clang 3.4 found it: qv4managed_p.h:202:9: error: 'reinterpret_cast' to class 'QQmlDelegateModelGroupChangeArray *' from its base at non-zero offset 'QV4::Managed *' behaves differently from 'static_cast' [-Werror,--Wreinterpret-base-class] QV4::Managed and QV4::Object are non-virtual classes (they have no virtual table). I'm not sure if they are (C++11) standard layout, but they seem to fit the bill. However, QQmlDelegateModelGroupChangeArray has virtual functions, so the QV4::Managed sub-object in that class does not start at offset zero. That means reinterpret_cast'ing the base to the derived class is *wrong*, even if we're just calling a static function. In any case, we're static_cast'ing in the next line anyway, so this can't hurt. Change-Id: Icc796f7ecf8f41f859ea5fc877f5db5c87799964 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Doc: QtTest - Fix documentation for TestCase and SignalSpyCaroline Chao2014-01-099-1038/+777
| | | | | | | | | | | | | | | | | The property/methods documentation needs to be available in the components qml file. Thus we now import those components from the qml files directly instead of using fake header files. Rename the Qt Quick Test page to Qt Quick Test Qml Types to be consistent with the other submodules. Task-number: QTBUG-33587 Change-Id: Ifb1df8e7d15f2e23b4b4268e5df138934e62fc42 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Remove redundant copies of enabled flag in QML profilerUlf Hermann2014-01-093-145/+63
| | | | | | Task-number: QTBUG-35315 Change-Id: Idd35a330531722cb3d4e0d3e95cb3be6e5697688 Reviewed-by: Michael Brasser <michael.brasser@live.com>
* Fix some typos in documentation.Jeff Tranter2014-01-093-3/+3
| | | | | | | | | Fix some spelling and grammatical errors in comments that show up in Qt documentation. No changes to code. Change-Id: I2d91518900c9b60ee8e8a8f549c88a1d50632b3d Reviewed-by: Nico Vertriest <nico.vertriest@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* Fix Flickable generated release event with pressDelay.Martin Jones2014-01-091-1/+5
| | | | | | | | | Map mouse position to grabber when forwarding release event due to release before pressDelay timeout. Task-number: QTBUG-34570 Change-Id: I7214077c9ac95f77407cf66f9dad52f577eccd79 Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
* Fix broken build with Clang < 3.4 after 60aed669345be33b916c445565Thiago Macieira2014-01-081-1/+2
| | | | | | | | | | | The -Wunused-const-variable option was added in Clang 3.4 and is not yet supported on Apple's Clang. This test needs to be extended with the Apple Clang version that supports the option. Change-Id: Ief6ece91f1c0200c3359e74dafca4b893fcde7ca Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* V4: optimize dominator frontier storage.Erik Verbruggen2014-01-081-7/+164
| | | | | | | | | | | | | | | | | | Changes the dominator frontier storage from a set of basic-blocks for every basic-block to a BasicBlockSet for every basic-block. This new class stores a maximum of 8 nodes in a vector, and switches to a bit vector when going beyond 8 nodes. This is important in two cases: most basic-blocks have 2-3 nodes in the frontier, and an array is faster than a set in these cases. The few cases where the frontier goes beyond 8 nodes, is when a switch statement is used with lots of cases that all fall-through. On regress-74474-003.js this reduces peak memory usage from 1.68G to 60M. The switch statement in this test results in 27000 basic-blocks. Change-Id: I42646522ba9f8642d42a5d70fc6b760bb47ae69f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Keys Attached Property: Fix doc reference to nonexistent propertiesGabriel de Dietrich2014-01-081-2/+2
| | | | | Change-Id: I5e6a0855b3ad10e3adf6cf73b08a7794daf187da Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Ameliorate DocumentationAlan Alpert2014-01-071-2/+3
| | | | | | Task-number: QTBUG-33438 Change-Id: I9187513d3b4c68d99c90726288653aae5c553a67 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* [ChangeLog][QtQml] Fix JavaScript Array.pop() not updating the internal ↵Simon Hausmann2014-01-071-1/+1
| | | | | | | | | | | | | array length correctly While the length property was reporting the correct value, the internal array length was out-of-sync. Task-number: QTBUG-35979 Change-Id: I68820a349cf1ce88c6aabc6a2301a8a861018a10 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Use qDebug for all debug under src/quick/scenegraph.Gunnar Sletta2014-01-077-10/+11
| | | | | | | Mixing printf and qDebug can make the output come out of sync. Change-Id: Ia71e71b09cb3bf651010eb2eb652db7899b07f0d Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Doc: Add links to Qt Quick Test Reference DocumentationCaroline Chao2014-01-072-2/+2
| | | | | | | | To TestCase and SignalSpy documentation. Change-Id: I83f18ab107e8d047756568ab2cdddd1eaf5574ec Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Accessibility: mark more items as focusableFrederik Gladhorn2014-01-061-1/+17
| | | | | Change-Id: I8b5189bdf46305ad11f2dd1e689423152e542dcf Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Accessibility: quick items are not visible when their window is notFrederik Gladhorn2014-01-061-1/+1
| | | | | Change-Id: I126b0ca7414b03f17834ca8e90dd84c9d1c44add Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Remove unused static functions from QtQml found by Clang 3.4Thiago Macieira2014-01-041-28/+0
| | | | | | | qqmlcomponent.cpp:112:23: error: unused function 'buildTypeNameForDebug' [-Werror,-Wunused-function] Change-Id: I5cc82b20fee8e3f0b61ad59b831723359c8dcda4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Also fix the unused variable warning that ICC found with ClangThiago Macieira2014-01-041-0/+2
| | | | | | | | | | The ICC fix happened on e02cb2b31ab0b171f11d278305d9f532f005bc80. This now fixes for Clang 3.4: cached-powers.cc:134:18: warning: unused variable 'kCachedPowersLength' [-Wunused-const-variable] Change-Id: I876d9d5cf43fb7eb76117d6fdc37265295c360df Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* QtQuick.Dialogs FileDialog: default mode is ExistingFileShawn Rutledge2014-01-031-0/+1
| | | | | | | | | Previously did not sync the mode with the state of the selectExisting property on construction. Task-number: QTBUG-35877 Change-Id: Ifb630fb51c463025ec2f6a1932714f354552c234 Reviewed-by: Liang Qi <liang.qi@digia.com>
* Fix property access to QQmlPropertyMap objects when addressed via idSimon Hausmann2014-01-022-3/+8
| | | | | | | | | | | | Property access to id objects is optimized at compile time, but we cannot do that for QQmlPropertyMap instances (or generally fully dynamic types). This issue was a regression against Qt 5.1 Task-number: QTBUG-35906 Change-Id: I759a1a899f6a3a1f6466282f455b289ad7451086 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix lookups of enums in singletonsSimon Hausmann2014-01-021-35/+26
| | | | | | | | | | | | | | | | | | | This is a regression against 5.2.0 (which didn't have this bug), due to optimizations introduced in the stable branch after the release. The code path for optimizing access to the members of C++ based singletons through the regular meta-object properties would end up excluding access to enums when the lookup happens at run-time. The run-time getter for the singleton itself would return a wrapped QObject instead of a QQmlTypeWrapper, and only the latter includes enums. As QML based singletons (composite singletons) cannot declare enums, we can continue to do fast lookups on these, but otherwise have to fall back to the slower code path. Task-number: QTBUG-35721 Change-Id: Icc66bdaf3572622cdb718f82b706e3204afa0167 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* V4: remove class field in DominatorTree that was used only once.Erik Verbruggen2014-01-021-21/+18
| | | | | | | | | Calculation of all the children of nodes in the dominator tree is now calculated as a local variable right before computing the dominator frontier. The effect is that they are not retained after their only use. Change-Id: I83c962c691b78cb767708eb04cf30d3b7a760deb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* V4 IR: do not add unconditional jumps to work listsErik Verbruggen2014-01-021-1/+4
| | | | | | | | | | Both type inference and the optimization pass do not do anything with unconditional jumps. So, instead of adding them to the worklist and later on removing them again, it’s faster to never add them in the first place. Change-Id: Ib81d43e9ea6df2b1a70e9dd1e9b9c29cb6d345d2 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* V4 IR: change datastructures for dominator calculations.Erik Verbruggen2014-01-021-112/+172
| | | | | | | | Replace hashes from basic-block to basic-block with vectors that associate basic-block index to basic-block index. Change-Id: I834ea3d825e4d2b02c075b1b0f080f5a65f41317 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
* Doc: Fix broken linksSze Howe Koh2013-12-3043-75/+74
| | | | | Change-Id: I4c4577edde96978a986606bf30fbb925f871bd42 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* QtQuick ColorDialog: ensure slider rotation takes effectShawn Rutledge2013-12-301-0/+5
| | | | | | Task-number: QTBUG-35206 Change-Id: Ia6b4f743cd9bea937eb891ddd16776f975d42bcd Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* QtQuick.Dialogs: check for inheriting from QApplicationShawn Rutledge2013-12-291-1/+1
| | | | | | | | | Widget-based dialogs are allowed if the application is a QApplication, but subclassing is OK too. Task-number: QTBUG-35769 Change-Id: Iec329792d7c1d85adcb1c3542444f0e92792b20b Reviewed-by: Liang Qi <liang.qi@digia.com>
* Context2D: don't use an arrow to illustrate scaling in the docs.Mitch Curtis2013-12-261-0/+0
| | | | | | | | | | The example image scales an arrow, but uses an arrow to indicate that the next image (an arrow) is a result of the first arrow being scaled. Instead, use a circle. Change-Id: I8de18d4c2f3cb309681f63c31b0c9f7255d1868c Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* Doc: Fixed a few broken links and snippetsVenu2013-12-232-4/+4
| | | | | | | | | | Couple of \snippet references in the ListModel docs were pointing to files outside the exampledirs boundary. Update those references to use the relative path. Change-Id: Ibf9d0fda9e5280345b08cb66a4fe0db9142a42a6 Reviewed-by: Nico Vertriest <nico.vertriest@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* QtQuick docs: add missing \qmlpropertygroup commandsJ-P Nurmi2013-12-2012-0/+16
| | | | | | | "warning: No QML property group command found; using..." Change-Id: Iafbdbc09cbd76bf81a5baf3a5a4fab843778b5cb Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* use private linkage where possibleOswald Buddenhagen2013-12-193-3/+3
| | | | | Change-Id: I1f51b7d043f49f2f2849eb370ac71366cbaa6da5 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* remove obsolete workarounds for qmake processing order problemsOswald Buddenhagen2013-12-192-31/+0
| | | | | Change-Id: I4b58eee6243c92f67bdd9c8f9da36ef82a489c12 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* V4 SSA: add some more literature references.Erik Verbruggen2013-12-191-5/+13
| | | | | | | Also fixed some comments. Change-Id: I4aedff84bdbf8de248025bc48805a859704bdd8a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix deadlock when QQmlEngine is destroyed during compilation.Andrew den Exter2013-12-191-14/+27
| | | | | | | | | | | | | Before blocking to wait for the thread to finish ensure the thread itself is not waiting for the main thread to complete some action otherwise both threads will be waiting on the same wait condition that neither is able to wake. Likewise ensure the shutdown action is processed if the last scheduled event is currently being processed. Task-number: QTBUG-35581 Change-Id: I483fc56d0d398493f9fa907f3ab203439bfb9221 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix positioning of item when first cacheBuffer item is removed.Andrew den Exter2013-12-193-1/+14
| | | | | | | | | | | | | When items prior to the first visible item are removed from the instantiated items list the first item is moved forward by the size of the item removed so it position remains correct relative to the visible items. But if the removed item is the first instanitated item then it's size shouldn't contribute to the offset as the next instatiated item is already offset by its size. Task-number: QTBUG-33619 Change-Id: I05c33f505e2856afa08cd9cd89d8eae97c20679d Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Docs: fix Drag::onDragStarted() and onDragFinished() signalsJ-P Nurmi2013-12-181-2/+2
| | | | | Change-Id: Iefda2d3611ed0f940255f1375ca4c356827fbc70 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Fix & cleanup whitespace in qquickdrag.cpp docsJ-P Nurmi2013-12-181-21/+19
| | | | | Change-Id: I85b986c8b3dca6ccc872807a1d2e8b7b71688c0e Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Fixes: qml memory corruption on Androidaavit2013-12-171-0/+10
| | | | | | | | Bionic pthreads reports too small stack size for main thread. Change-Id: I3d33229e76101a847309c723d534844ffb2d2042 Reviewed-by: Andy Nichols <andy.nichols@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* ensure that qmltest users have CONFIG+=consoleOswald Buddenhagen2013-12-171-0/+4
| | | | | | | Task-number: QTBUG-35603 Change-Id: Ia337845004290d0e01c391130bbf55ec31e52c9e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Delete a disallowed template instantiation the proper wayThiago Macieira2013-12-171-1/+1
| | | | | | | | | | | | | | | C++11 allows you to do = delete to the declaration. But some version of Clang on Mac doesn't like it. I'm guessing it's a compiler bug in an older version of Clang used in the Qt CI system. I can't reproduce the issue, so no further investigation was done. So just remove the "inline" keyword, which is what ICC 14.0 complains about: MathExtras.h(270): error #864: extern inline function "clampTo(double, T, T) [with T=long long]" was referenced but not defined Change-Id: I3887ccb527b5995ffa7ece612f9c7d5a80e71079 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* QtQuick Dialogs: don't use native windows on iOSShawn Rutledge2013-12-161-1/+3
| | | | | | | | | It makes more sense to show the dialogs as items in the scene rather than as undecorated windows. Task-number: QTBUG-35561 Change-Id: I2fb29ed8eeb999b99829a9d5ffc088f401d5d602 Reviewed-by: Liang Qi <liang.qi@digia.com>
* Doc: Made copy of the QML files in the snippets directoryVenu2013-12-133-3/+174
| | | | | | | | | | | | | | The Delegate.qml and view.qml files were not in the scope of Qt QML exampledirs. These files were in the example directory under quick, so had to make of copy of them in the snippets directory and update the snippet path to get the snippets in the html output. Task-number: QTBUG-35445 Change-Id: Ic3fa19dbd36b91d76fbc497ab524f5c0ff91325f Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Nico Vertriest <nico.vertriest@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>