aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | Get rid of FunctionObject::createQmlFunctionLars Knoll2016-12-097-37/+23
| | | | | | | | | | | | | | | | Instead, simply create a QmlContext, and setup the bindings with the QV4::Function itself. Change-Id: I9db93b15112e43a6d5e275d126fb20f9c8833e8f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Don't create a FunctionObject in createQmlBinding()Lars Knoll2016-12-093-53/+2
| | | | | | | | | | | | | | | | This also removes the last use of the QmlBindingWrapper, so remove that class as well. Change-Id: I2ec795b6ab695a689fb24d64c9b8809b651c2b37 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Avoid the creation of a FunctionObject for most bindingsLars Knoll2016-12-095-3/+30
| | | | | | | | | | Change-Id: Ia62d380945250015009d9c2b6ed65f6d830277ef Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Don't store a FunctionObject in QQmlJavaScriptExpression anymoreLars Knoll2016-12-092-18/+29
| | | | | | | | | | | | | | Instead store the QmlContext, the QV4::Function and a source location. Change-Id: Iafa54c09b9be7e78bace3498673ca94a2a145c97 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Limit access to m_function to QQmlJavaScriptExpressionLars Knoll2016-12-095-10/+28
| | | | | | | | | | Change-Id: I070f73f106440667fce2c7fe33310369a6aa1376 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Don't create a QML function is the signal parameters are invalidLars Knoll2016-12-092-4/+4
| | | | | | | | | | | | | | Moves the error checking to where the error occurs. Change-Id: I2590d3a9d41f41c16d19e4f5883b78a8b28a883c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Remove some dead codeLars Knoll2016-12-091-4/+0
| | | | | | | | | | Change-Id: Ibf6d50926edd85ebee545bcfdfcd14cb0eeab969 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Avoid using the FunctionObject in QQmlJavaScriptExpression::evaluate()Lars Knoll2016-12-091-3/+10
| | | | | | | | | | | | | | Rather directly execute the call on the QV4::Function. Change-Id: I1de52075760be6b3a0358af83270ebd4e1d1e8ae Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Change signature of QQmlBinding::create to take a FunctionObject *Lars Knoll2016-12-096-7/+7
| | | | | | | | | | | | | | This is what's in the Value in all cases anyway. Change-Id: I212c4c4076050e8d0ea4cf6f72a1683e132cd51b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Mostly use the QV4::Function in javascript expressionsLars Knoll2016-12-096-35/+30
| | | | | | | | | | | | | | | | | | Move the function() accessor from QQmlBoundSIgnal to QQmlJavaScriptExpression. Change the profiler to operate on QV4::Function objects for binding profiling. Change-Id: Ic7ce83c487ceb69cad4b16e3dab42026238b7e82 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Qml Inspector: Avoid taking a QPointer of an object being deletedUlf Hermann2016-12-092-4/+2
| | | | | | | | | | | | | | | | As we manually remove items to be deleted from the list of selected items, we don't need to keep them as QPointer in the first place. Change-Id: Ie416b47d4f193cb3dc7cfb07e66ab2b36ad6721c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Bump QML cache file versionSimon Hausmann2016-12-091-1/+1
| | | | | | | | | | | | | | | | After the recent data structure changes this seems appropriate to force a cache rebuild for those following the branch in release builds. Change-Id: Ie4c0534729a752137068b8f24beb9d15e7895c46 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Remove unused argumentLars Knoll2016-12-092-8/+4
| | | | | | | | | | Change-Id: Ie490f113b6fc48ea75eb5903a79dddb02faa7301 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Get rid od ScriptFunction::init()Lars Knoll2016-12-092-7/+1
| | | | | | | | | | | | | | It was just forwarding to the parent implementation anyway. Change-Id: I179966699978a86efdd6792b31b56eded501efbd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Refactor the calling code for (Simple)ScriptFunctionLars Knoll2016-12-096-106/+93
| | | | | | | | | | | | | | | | | | | | | | Factor the common code out into separate methods that can later on be reused by the QQmlJavaScriptExpression. Also ensure a CallContext is safe to use with a 0 FunctionObject. Change-Id: I1181a8e320b8c931d9df5b2c91bc143d8587fb60 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Minor cleanupLars Knoll2016-12-091-5/+6
| | | | | | | | | | Change-Id: I091f2de77f84fb298404dc8784defcf3a812d56a Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Add sourceLocation() accessor to QQmlJavascriptExpressionLars Knoll2016-12-095-15/+9
| | | | | | | | | | | | | | | | And remove it from the derived QQmlBoundSignalExpression class. Change-Id: I93cdc67136ddd916474acd2169faf380e296a900 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Move the check whether a function is simple to QV4::FunctionLars Knoll2016-12-092-6/+12
| | | | | | | | | | | | | | This allows re-using the check in the QQmlJavascriptExpression code. Change-Id: I647a6edb4844911f540f08c4a067d055676dd0ed Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Avoid some copies of Values on the JS stackLars Knoll2016-12-092-12/+10
| | | | | | | | | | Change-Id: I1c7dca6e8d17da9f3d76b68d072370b087840f2b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | tst_QQuickPathView, tst_QQuickListView: Fix compiler warningsFriedemann Kleint2016-12-082-87/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warnings about assignment used as truth value in Q[TRY_]VERIFY by generally pulling out the assignment in case of QVERIFY and adding parentheses in case of QTRY_VERIFY. Also fix 2 cases in which apparently QTRY_VERIFY(find()) was intended. Fixes warnings: tst_qquickpathview.cpp: In member function 'void tst_QQuickPathView::creationContext()': tst_qquickpathview.cpp:1637:100: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquickpathview.cpp: In member function 'void tst_QQuickPathView::currentOffsetOnInsertion()': tst_qquickpathview.cpp:1688:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquickpathview.cpp:1700:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquickpathview.cpp:1712:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::sectionsPositioning()': tst_qquicklistview.cpp:2392:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::itemListFlicker()': tst_qquicklistview.cpp:2979:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:2981:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:2983:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:2988:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:2990:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:2992:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:2997:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:2999:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:3001:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::creationContext()': tst_qquicklistview.cpp:5339:97: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5341:98: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5343:98: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5345:99: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::unrequestedVisibility()': tst_qquicklistview.cpp:5626:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5628:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5631:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5633:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5636:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5638:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5640:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5642:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5650:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5652:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5663:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5665:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5668:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5670:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5673:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5675:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5677:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5679:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5687:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5690:103: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5692:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5695:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5697:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5699:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5701:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5707:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5709:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5711:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5713:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5719:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5721:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5723:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5725:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5731:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5733:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5735:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5737:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5743:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5745:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5747:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:5749:104: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::displayMargin()': tst_qquicklistview.cpp:7255:100: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:7259:102: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp: In member function 'void tst_QQuickListView::negativeDisplayMargin()': tst_qquicklistview.cpp:7292:99: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:7295:99: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:7298:99: warning: suggest parentheses around assignment used as truth value [-Wparentheses] tst_qquicklistview.cpp:7303:99: warning: suggest parentheses around assignment used as truth value [-Wparentheses] Change-Id: Ic069c8336cf15db75860c6f79dfd215a5592ca79 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | QQuickSpriteEngine: Optimistic speedup for updateSpritesRobin Burchell2016-12-082-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | Switch from QList to QVector, and avoid using pop_front -- remove all in one operation instead. The idea here was to provide some gain to sprite-sequence in qmlbench, but any possible gain is pretty miniscule due to the lack of batching that example suffers. Still, we end up with less CPU time taken, which is a win of sorts. Change-Id: Ib7c101afa71ee617c3c4506b14701d6a4143ed3a Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | 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>