aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * qmlplugindump: avoid warningsMarco Benelli2016-12-081-4/+7
| | | | | | | | | | | | | | | | Wrap all global variable in an anonymous namespace in order to avoid compiler warnings on the uninizialized ones. Change-Id: Ifabb790d2d76b6056d706580b9e4c0f12f5119f0 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
| * QQuickWindowPrivate::dragOverThreshold(): ignore zero velocity thresholdJan Arve Saether2016-12-072-11/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, this would trigger a drag even if the touch point was quite steady, since a rather steady finger could report a very small velocity (usually between 0 and 1). Change so that it will ignore velocity if it's not positive. At the same time convert it to a template function since we want to also use this for QQuickEventPoint later on. Change-Id: Ibb2210813707399ae84e3422718c995897891060 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Merge remote-tracking branch 'origin/5.8.0' into 5.8Lars Knoll2016-12-0727-1244/+1355
| |\ | | | | | | | | | Change-Id: I19804e880005c66880eeabfaebf0b1093de80e6b
| | * Don't read members of the binding after it has been freedLars Knoll2016-12-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes a use after free valgrind error (and thus a potential crash) in tst_qqmljavascript::selfDeletingBinding that got introduced with change e7f28bd13b18cfcb36ef41804029b9b296117002 Change-Id: Ia6b69af199c0f2af1cc0d33d4f13a8593b2c6d51 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * comment out all uses of QPointerUniqueId temporarilyShawn Rutledge2016-12-042-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | The next step is to rename it, but we do this first to avoid breaking CI while it's renamed in qtbase. Task-number: QTBUG-54616 Change-Id: Iae3a098b9ab5571599af838d19b1869b84b2165f Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| | * Fix compilation error with ICC 17: it doesn't like auto and commaThiago Macieira2016-12-042-16/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error is a warning upgraded via -Werror and the message doesn't even make sense to me: error #3373: nonstandard use of "auto" to both deduce the type from an initializer and to announce a trailing return type Intel-Issue-ID: 6000164202 Change-Id: I73fa1e59a4844c43a109fffd148caf09a1952e92 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Fix build of QtQuick compiler generated code with popScope()Simon Hausmann2016-12-021-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After commit 5e6bf607ee1e466eebabb7b8114c9f5e8fc40a9e we would not have an exception check template matching anymore that sets NeedsCheck to false, and consequently generated code that would try to call popScope() with an ExecutionEngine instead of a NoThrowEngine. Task-number: QTRD-2219 Change-Id: Iddf8218d1efb9af77c9a5f7ef84b9998fb167ef5 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
| | * Fix support for namespaced types in property/signal declarationsSimon Hausmann2016-11-3011-1159/+1210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Declarations such as property Namespace.Item foo or property list<Namespace.Item> foo would get rejected by the grammar due to the lack of productions. This is now encapsulated in the UiPropertyType, which used to be merely an identifier but is now changed to produce a UiQualifiedId - the same type that's also used for MyNamespace.Item { ... } object declarations for example. Task-number: QTBUG-10822 Change-Id: Ic3ac1adbe17c83b24b67950c2f089e267b73b99b Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| | * Layouts: Use QQuickItemChangeListener for more thingsRobin Burchell2016-11-304-48/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signal connections are expensive: even with qmlobject_connect, there's a bunch of memory allocation. By avoiding the signal connections, we can do the same thing essentially, a little faster. This gives me another 15-20 RowLayout instances per frame when testing with RowLayout containing 5 Rectangles on qmlbench (from ~139 to ~155 ops/frame). Change-Id: I4448a28128dc251e40b6b06d642bae716af212f4 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| | * QQmlDelegateModel: Avoid allocating unnecessarilyRobin Burchell2016-11-302-9/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wait for the update request to be posted and take effect before piling another one up. This speeds up qmlbench creation benchmarks a bit (as they make use of Repeater). Results for benchmark/creation/delegates_item on a 5.6 base on a 2011 mbp: Before: Average: 670.4 ops/frame; using 5/5 samples; MedianAll=674; StdDev=6.34, CoV=0.00946 - StdDev (all samples included)=6.34 After: Average: 702 ops/frame; using 5/5 samples; MedianAll=700; StdDev=8.97, CoV=0.0128 - StdDev (all samples included)=8.97 Change-Id: Ic0ef4c1e2d6cb309edeb512cad4280a15abc7a06 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| | * Make sure we cannot reload debug connectors on shutdownUlf Hermann2016-11-301-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The various Q_GLOBAL_STATICs involved in the loading of debug plugins may be destroyed in any order. If the connector is unloaded before the services, it might get reloaded when one service calls instance(), trying to deregister itself. Prevent this by clearing all the parameters. Change-Id: Iee4a05e09401be916f0339d72eb8b5f2c9eac55d Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * qquickwidget.cpp: move QT_END_NAMESPACE to bottomFriedemann Kleint2016-11-301-3/+2
| | | | | | | | | | | | | | | | | | | | | Amends change 62198ab4485e15f350122770d5dfd8de7e59b8f9. Change-Id: I14a18c938126d475f9cec0f940596558b01c33de Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| | * Fix caching of the current qmlContext in QQmlObjectCreatorLars Knoll2016-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A context is not a QV4::Object, just a QV4::Managed. Testing for Object here lead to us creating a new QV4::QmlContext every time this method got called instead of sharing it. Reduces memory consumption and improves the performance of some of the creation benchmarks in qmlbench by ~20%. Change-Id: I20c0ad52133aa0cb40c9d2551fd635bef8b7d90a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| | * Merge 5.8 into 5.8.0Oswald Buddenhagen2016-11-2964-1441/+1882
| | |\ | | | | | | | | | | | | Change-Id: I109ecd4511c5d6408e49b2f910c3f6253633ce4f
| | * | Allow for the QML engine to run on "hardened" Linux systemsSimon Hausmann2016-11-221-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to WinRT let's test whether we can allocate executable memory before enabling the JIT. The caller code will fall back to the interpreter. Task-number: QTBUG-56758 Change-Id: I63d6830c6acc8cb316333162be212e1764483baa Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
| * | | Change ExecutionContext::getFunctionObject() to getFunction()Lars Knoll2016-12-066-34/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And return a QV4::Function from now on. This simplifies code in other places and provides all the info required for stack traces and debugging. Change-Id: I512a8ac3932268d8cfc60675e75c4661d1f16fd8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Use QV4::Function instead of the FunctionObject in CallContextLars Knoll2016-12-065-37/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The prepares for being able to call binding code without having to create a full FunctionObject. Change-Id: I5f0dcaa4d1ae8876554cac82597351801588bc02 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Add a sourceLocation() accessor to QV4::FunctionLars Knoll2016-12-062-3/+7
| | | | | | | | | | | | | | | | | | | | Change-Id: I3a38ee44ce46c2416ceef153ce631bc15fd461fe Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Cleanup and reduce the number of overloads for QQmlBinding::create()Lars Knoll2016-12-068-51/+24
| | | | | | | | | | | | | | | | | | | | Change-Id: Ibcd277bc434638e5c6e8e9ccea634aa25cde1643 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | V4: Simplify strict-mode setting on call context objectsErik Verbruggen2016-12-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously this required an extra shift to move the bit to the lsb. Change-Id: I04674c3bad34d60af13728fe9a7dd120a188c26f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | V4: Jit: inline a toBoolean conversion for 'var' typeErik Verbruggen2016-12-061-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the type of a variable is not known at compile-time, 'var' (meaning 'anything') is used. This can still hold a boolean at run-time, so before calling the Runtime::method_toBoolean, check if this is the case. Do the same for integers. Change-Id: I582c3a46fc992d4f4f44b87e80edafe7edea4221 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Remove unnecessary testsRobin Burchell2016-12-051-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _canSimplify is only set during accept(), so the additional tests do not seem to have any purpose. Change-Id: I0ee337c1457ec89940d1351eecd17cbfbfc7ff83 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Inline the qmlScope and urlScope methodsLars Knoll2016-12-043-30/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | They are only a couple of lines and used only in one place. Change-Id: Iee9139e78d5d7fd385cae39d6dd5fad7e5d461b5 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Start cleaning up the QmlContextWrapperLars Knoll2016-12-0429-201/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The class should get merged with the QV4::QmlContext class. Simplify the cleanup by moving both classes into a common file. Change-Id: I0074da79701d5f41eb51681b70fcde85bfd45fc1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Build benchmarks only in release modeFriedemann Kleint2016-12-021-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, a debug build will fail due to not find the release mode libraries: LINK : fatal error LNK1181: cannot open input file 'D:\dev\5-vs15-58-static\qt-58s\qtbase\lib\Qt5Gui.lib' Change-Id: I1b942db5ad0cf5fb3a949f9d39b8cf55a2dbd69a Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Remove reference to trusted-benchmarks.priFriedemann Kleint2016-12-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It appears to be legacy that is no longer found. Change-Id: Id7fa8555e32d917da617100fb8720a18eab69ae1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | examples\..\scenegraph.pro: Remove duplicate entry textureinsgnodeFriedemann Kleint2016-12-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes build warnings: Cannot add commands to previously defined target sub-textureinsgnode-qmake_all. Cannot add commands to previously defined target sub-textureinsgnode. Cannot add commands to previously defined target sub-textureinsgnode-make_first. Change-Id: Ieaa8b688fa112d42efa05721ff3bfe251036a69b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Hint the compiler that exceptions are exceptional and not the hot pathErik Verbruggen2016-12-012-8/+9
| | | | | | | | | | | | | | | | | | | | Change-Id: I981f0cb643a67027a37db38363e26b220d3c216f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Reorder CallData building for better gcc codegenErik Verbruggen2016-12-011-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC6 with LTO will assume that the then-part is the common path. For ArrayData-to-CallData "conversion" this is not the case, so reorder that. Change-Id: I856ef9b5747e9858a35f15a23159cf7c12fd75ef Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | V4: Make the first QML profiling check as quick as possibleErik Verbruggen2016-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In most cases there is no QML profiler attached, so hint the compiler about that. Change-Id: Ied75e58e608ccc689d2a9a1b0bf6e8f65769c94f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Make CallContext::argument constErik Verbruggen2016-12-011-2/+2
| | | | | | | | | | | | | | | | | | | | Change-Id: Ic41f6239e1a3920cacd08aba25ab01cd79670a3c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | V4: Scoped<T>::operator-> will always return a T*Erik Verbruggen2016-12-011-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to do a Value::cast, because that is already done in the constructors and in the assignment operators. Change-Id: I65b896c1eae91bf63ead3762437c35aea504ac62 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | V4: Do not generate runtime calls when comparing ints/doublesErik Verbruggen2016-12-011-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to restrict genertion of double comparisson instructions or integer comparisson instructions to constants or values that reside in registers. We're prefectly able to load a value into a scratch register in order to generate those instructions. Change-Id: I25e832293817eed6450cb08c98dd95640326a518 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | V4: Prevent repeatedly loading a QV4::Function pointerErik Verbruggen2016-12-011-16/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even with LTO on, GCC6 will not optimize out the fact that a) the d() pointer won't change here, and that d()->function is constant and not need to be checked for nullptr all the time. Also prevents allocating 0 locals, which would still run most of the jsAlloca code for no good reason. Change-Id: Iaf5257743cb57d55bef5d334d1e4355590dae7c6 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Precalculate and cache hasQmlDependenciesErik Verbruggen2016-12-013-4/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: I62b5e167847871f7ead39168ac281ba10e7f7008 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Fix SignalSpy with QQmlPropertyMap signalsAlbert Astals Cid2016-11-308-2/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2e7d4ecdc59942b484159ca827f5d5dbc8787a1b caused the regression. To fix the regression I try accessing the signal name first and if it is not a function try accessing the handler name. Comes with a unit test to test both cases. Change-Id: I3897f344df9c6219636c70259eed503d9b76f09e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | StocQt example: Use QtQuick.Layouts instead of anchorsVenugopal Shivashankar2016-11-3011-654/+734
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Move the StockListView delegate and the top banner to separate files. - Use QtQuick.Layouts in place of anchors for most parts, improving code readability and app scalability. Change-Id: Ie8f13ef261bb343f15e9484bd15f8b94101daeb5 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * | | V4: Streamline Value::toBoolean and prevent calls to Value::type()Erik Verbruggen2016-11-291-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Value::type() is not inlined by GCC LTO, and does more work than needed. Change-Id: I0a1f99f48d8e55caf685a9a3aa56dce079c8f1b2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Avoid a duplicated wasDeleted() checkLars Knoll2016-11-292-10/+10
| | | | | | | | | | | | | | | | | | | | Change-Id: I30258041ca19cb7d925e4817c8f36577c335282d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Cleanup Value::isObject/objectValue usagesLars Knoll2016-11-297-73/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Try to avoid calling both as objectValue() already checks isObject(). Change-Id: I1d770d4d9dabed4ea4cc3e322b8fdc5a64f5bd2b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Clean up Value::isString()/stringValue() combinationsLars Knoll2016-11-2912-118/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's enough to just call stringValue(), as that already does the isString() check. Change-Id: I7be0e643a7975c0704b4c9c43b337deb8db9fce0 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Clean up some duplicated methodsLars Knoll2016-11-299-43/+18
| | | | | | | | | | | | | | | | | | | | Change-Id: Iad64dd2c330ca85a28f8f5c776b0ede623203558 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | Clean up duplicated checks whether a Value is a ManagedLars Knoll2016-11-2911-90/+79
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib044be254dbb41bd9fb4a6e0baa3bd3c007e6a2a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | | V4: Help the C++ compiler to do more DSE by inlining more codeErik Verbruggen2016-11-294-40/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The JS stack allocation initializes the contents, but in most cases the caller will immediately store a value in that stack slot. When the allocation code is inlined, the compiler can use dead store elimination to remove the unnecessary initialization code. Change-Id: I0495417adc7c1c8764f845032611bd506a8b7df9 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | | Get rid of most QT_NO_FOO usagesLars Knoll2016-11-29134-660/+645
| | |/ | |/| | | | | | | | | | | | | | | | | | | Instead use QT_CONFIG(foo). This change actually detected a few mis-spelled macros and invalid usages. Change-Id: I06ac327098dd1a458e6bc379d637b8e2dac52f85 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * | Merge "Merge remote-tracking branch 'origin/5.7' into 5.8" into refs/staging/5.8Liang Qi2016-11-2831-135/+449
| |\ \
| | * \ Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-2831-135/+449
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The renderers added in 5.8 had to be adapted to the changed profiling macros from 5.6. Conflicts: src/plugins/scenegraph/d3d12/qsgd3d12renderloop.cpp src/plugins/scenegraph/d3d12/qsgd3d12threadedrenderloop.cpp src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp src/quick/scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp src/quick/util/qquickprofiler_p.h tests/auto/qml/qjsengine/tst_qjsengine.cpp tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp Change-Id: Icb370b7c95aab12589ad73881ac6d178759a5c6b
| | | * \ Merge remote-tracking branch 'origin/5.6' into 5.75.7Liang Qi2016-11-2526-110/+337
| | | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4ssa.cpp src/qml/qml/v8/qqmlbuiltinfunctions.cpp src/quick/util/qquickprofiler_p.h Change-Id: I11a89c2a166115d6697adfba09928805643e709e
| | | | * | Doc: fix incorrect syntax in "Code-Behind Implementation Resource"Mitch Curtis2016-11-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ie86302f12d4ad65ff46335a1ea248bbb4c5559f3 Task-number: QTBUG-56008 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
| | | | * | QmlProfiler: Explicitly specify the offsets for scene graph eventsUlf Hermann2016-11-249-82/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The profiler can be switched on in the middle of a frame. In that case the last offset into the timing data would be some random number, which may lead to a crash when recording the sample. However, as we know all the data points we are going to record, we can as well specify where they are supposed to go. The timings themselves may still be random for frames of which we only recorded parts, but the clients can deal with this. Task-number: QTBUG-57304 Change-Id: I1d507f2591516e43d5b3cd25f7939716f2b64ed9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>