| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |\
| | |
| | |
| | | |
Change-Id: I19804e880005c66880eeabfaebf0b1093de80e6b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Amends change 62198ab4485e15f350122770d5dfd8de7e59b8f9.
Change-Id: I14a18c938126d475f9cec0f940596558b01c33de
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I109ecd4511c5d6408e49b2f910c3f6253633ce4f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I3a38ee44ce46c2416ceef153ce631bc15fd461fe
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ibcd277bc434638e5c6e8e9ccea634aa25cde1643
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously this required an extra shift to move the bit to the lsb.
Change-Id: I04674c3bad34d60af13728fe9a7dd120a188c26f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
_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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
They are only a couple of lines and used only in one place.
Change-Id: Iee9139e78d5d7fd385cae39d6dd5fad7e5d461b5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It appears to be legacy that is no longer found.
Change-Id: Id7fa8555e32d917da617100fb8720a18eab69ae1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I981f0cb643a67027a37db38363e26b220d3c216f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ic41f6239e1a3920cacd08aba25ab01cd79670a3c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I62b5e167847871f7ead39168ac281ba10e7f7008
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- 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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I30258041ca19cb7d925e4817c8f36577c335282d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Try to avoid calling both as objectValue() already
checks isObject().
Change-Id: I1d770d4d9dabed4ea4cc3e322b8fdc5a64f5bd2b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Iad64dd2c330ca85a28f8f5c776b0ede623203558
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ib044be254dbb41bd9fb4a6e0baa3bd3c007e6a2a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| |\ \ |
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | |\ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
src/qml/compiler/qv4ssa.cpp
src/qml/qml/v8/qqmlbuiltinfunctions.cpp
src/quick/util/qquickprofiler_p.h
Change-Id: I11a89c2a166115d6697adfba09928805643e709e
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Ie86302f12d4ad65ff46335a1ea248bbb4c5559f3
Task-number: QTBUG-56008
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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>
|