| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Cut the size of the generated byte code in half, by storing
parameters in a more compact form and always storing the
instruction type in the instruction.
We can still used computed goto's for a fast interpreter, by
looking up the jump point for the next instruction in the jump
table.
Another advantage is that the byte code is now platform independent
(modulo endianness).
The change comes with a 3% performance impact on x86_64, which
is acceptable considering the size savings on the bytecode.
Change-Id: I37de3e1f94611987a85e65ea86536583aa965d6d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Detect any Chunk that's completely empty, deallocate it and return the
memory to the OS (as far as that's supported).
Change-Id: I6b6a77f2cdf478cbf16aad30a9cae37c98c6500e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/ /
| |
| |
| |
| | |
Change-Id: I46654e5c05851534507dc78b7a492a059dab2e14
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 90e7521313fc9e89d492d65f9ad0dca3c38e7225.
Commit 7937eb2d9e19bef89f49db2d510b033f6281af5b could possibly have
fixed this autotest.
Task-number: QTBUG-60052
Change-Id: I142ea04ef6329a9b1919ac17c427e470083651a8
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The enabled property was ignored if it was set before
componentComplete() was called.
[ChangeLog][QtQml] Fixed the QML Connections element
ignoring the initial state of the enabled property
Change-Id: I40c92fcb30f0bb8ca406f248b3bde2fced5ab58f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MinGW was unable to link qmlcachegen due to missing symbols from the
autotest-exported class QV4::ExecutableAllocator.
Introduce a separate Q_QML_AUTOTEST_EXPORT macro that is defined
to empty when used by qmldevtools.
Change-Id: Ib7f8984dd7617fae05bb4e1e6cc1fae0745ac3bc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 3063599da646f00fc80e42933358935e6565d7b2.
Commit 7937eb2d9e19bef89f49db2d510b033f6281af5b could possibly have
fixed this autotest.
Task-number: QTBUG-59857
Change-Id: Id5dcc46774696b67acfb7d93a46f384bb600fe56
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It could result in wrong/strange behavior if the QtQuickDesigner
shows asynchronous loaded items in the FormEditor view. So keep
this setting disabled in that case.
Change-Id: I9bbd75f33eb009e31064744564cc4104df624c3c
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| |
| |
| |
| |
| | |
Change-Id: Idf3315be104e058315d82893443e1c27d1d79f2e
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Loop peeling does in our current JIT not give us any
measurable performance benefits (no measurable diff
in any of the v8 benchmarks), and significantly
increases the size of the generated JIT code.
Change-Id: Icab7887300f9c1cd5891983cbfe5885fc2b4db91
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is now actually just as fast as the lookup code,
so disable the generation of lookups for indexed accesses
for now. This saves some runtime memory, as we don't
need the data structures for the lookup.
We can reintroduce lookups, once they offer a real
performance benefit.
Change-Id: Idc3fa7b248e2e25b4b2cd60d5053e2815634c8b7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\ \
| | |
| | |
| | | |
refs/staging/5.9
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Contains the fix for tst_TouchMouse::hoverEnabled which has caused
numerous failures in the last few days.
Change-Id: I1e523087a53d1df0334d602e4125f5cddc9bf470
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove stack handling function that's dead code that doesn't compile.
Task-number: QTBUG-58567
Change-Id: I704b0323522ce2a313d6cc85112f782872c3bf68
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
qv4alloca_p.h dates from April 2013 and contained just the #includes,
whereas the code in qtqmlglobal_p.h was introduced earlier this year in
commit 87f016ea9eddc874d5cba7d79d0a487d5ef61761. This commit moves the
macros to qv4alloca_p.h and centralizes the support there.
This also updates the #include detection mechanism, by using
QT_CONFIG(alloca_h) to determine which #include to use. See commit
98c1d516b7f7624f7fcd7b9046783e3903a6a42b in qtbase for more details.
Task-number: QTBUG-59700
Started-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: Icd0e0d4b27cb4e5eb892fffd14b4b38005ce2ecb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I46b62616fd8141f65786e9e7bcb1068bed460732
Task-number: QTBUG-60696
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With two or more windows, if events are being delivered to each, the
grabbers can be different in each. We need unique instances of the
QQuickPointerEvent objects for each window to avoid losing the grab state in
the parent window while delivering a synthesized event to a subwindow, for
example.
Change-Id: I51da1212d573853969e32ad78f5b219d979a8a5c
Task-number: QTBUG-57253
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This fixes tst_TouchMouse::hoverEnabled.
It turns out that the problem is that
QQuickWindowPrivate::flushFrameSynchronousEvents would deliver artificial
hover events which (due to the nature of the function) would arrive
without being synchronized with the test. This should not be a problem as
such, but there was one bug: the hover event would also be sent in case
of a touch release event.
The definition of when to "pretend hover" is a bit shaky, but we should
definitely not send hover events after touch releases. By clearing
lastMousePosition instead of setting it to where the touch point is
released we no longer receive bogus events.
Task-number: QTBUG-55350
Change-Id: I4dea54740e37182f66c4a729d7b06a1c770c34a9
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It fixes the following compile error:
tst_qqmlengine.cpp:279:51: error: variable ‘QCryptographicHash md5’ has
initializer but incomplete type
tst_qqmlengine.cpp:279:28: error: incomplete type ‘QCryptographicHash’
used in nested name specifier
Change-Id: I647a5a487d79f201118bfbddd757aa9cece180e4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-56551
Change-Id: Ide09f177d3f6a3e9902f8ea904b3e6e4b998bd39
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
c2ca2cbf04071ffb3aee6af8d5ab9084dfa1c091 started to restrict delivery of
items in childMouseEventFilter by checking that we wouldn't deliver
completely random points outside the item that were not grabbed by child
items. That is generally correct.
It did no longer send along touch points that had any other state but
pressed but were inside when they had no grabber. That part was wrong,
points must be sent along if they are not grabbed and inside the item.
Task-number: QTBUG-60368
Change-Id: Ida24f5d2310d3b71db79ae5f95da2c57dcd3f150
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Always export the isel factory method for qmlcachegen, so that we can
link.
Task-number: QTBUG-60597
Change-Id: Ia348ee5dfe0892878e8fce6c8afd30bb8eb54a51
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I7cd3623b86d7c585f69c764346366b13fdad6ec5
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use copied data instead of data that might be destroyed. This was
already fixed in most places in commit 22c39eda8ab316c.
Change-Id: Ie31ebb2e53945dd66ce3d0114629c284407ff26c
Reviewed-by: Albert Astals Cid <aacid@kde.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Task-number: QTBUG-59865
Change-Id: I18911734b34e535c2c77d5a860bd776105617663
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ib22ce026c4769ed8cc4e7ca7cb9ecfbcfd01c45e
|
|/ / /
| | |
| | |
| | |
| | | |
Change-Id: I85a5c94f8a9b1fcb52f3967f0ce521ffb34cfa0f
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
They are broken. See QTBUG-60621 for details.
Task-number: QTBUG-60621
Change-Id: Ibf55c64ef1b367bc2058d1c2284cd378ffa826ec
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ifb1b6f6d71d42c1642167725526c054f1dce0c90
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It benchmarks QElapsedTimer and QDataStream. We should do this in qtbase
if we need to do it.
The test was not in the parent qml.pro, but it was mentioned in some
outdated comments in the QML profiler plugins. Remove those comments, too.
Change-Id: I0d1341c32f4a2e02a04a958f76be015fe8d927fb
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The removed benchmarks don't make sense anymore: they were testing the
QQmlEngine part, while another test was doing the QJSEngine. These days
the QQmlEngine is a subclass of the QJSEngine and the test would call
the QJSEngine (which, as said, was already done in another benchmark).
Change-Id: Id1982dc118c399938a2dca8fb3c0a733e52fb20e
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add some more optimized lookups for accessing
properties stored inline or in the memberData.
Change-Id: Id74901d1dd91fd60933bf164c2bf90fed86232e3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It turns out that not using any inline property storage
comes at a relatively high price in terms of memory
consumption, as we always need to also create a
memberData for any object.
This avoids the memberData creation in quite a few
cases, as we use the additional padding we have up
to the 32 byte boundary given by the memory manager
to store some property data.
This complicates property access somewhat. To avoid
performance regressions because of this, add specialized
QV4::Lookup functions that optimize for properties that
are inline or in the memberData struct.
Change seems to be performance neutral on v8-bench on
x86_64, but reduces peak memory usage when running the
benchmark by around 20%.
Change-Id: I0127d31a2d6038aaa540c4c4a1156f45ca3b7464
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was using symbols exported only by a developer build.
Change-Id: If2e80a7f7831366a23c5c52669915385cfb3e7c6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
Again JS ownership, now shown as an attempt to free a non-malloced
pointer.
Change-Id: I00a9b1e4918da96aa5bc99a321edc94d76c4f45b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This commit reverts ae0d74fca32aabdd4c268a77654c552baacced69
Task-number: QTBUG-58785
Change-Id: I53dbade18ef57b1c49d76b40c9400cecfbfafb10
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When encoding negative offsets for relative jumps, we must stay within
signed 32-bit range to correctly perform all the different thumb offset
encodings correctly.
Task-number: QTBUG-60441
Change-Id: I0a7243debbcbc4d557710dddbd39cb97bd702da4
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I140e4e35d7841813df6425d0e418aa52660ed03b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I9ce8f7e9dffbf7fd5280841bbe46d07eaaf9e235
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 2a812493bc97983b85110f853d3dbe57b54667d8 added the VariantMap
case but forgot to add the break before it (there wasn't a break because
it fell through to default: break).
This is a 6.5 year old issue, though it affected no one because
setVariantMapProperty checks the destination's type again. Found by
GCC 7:
qqmllistmodel.cpp:1075:62: warning: this statement may fall through [-Wimplicit-fallthrough=]
target->setVariantProperty(targetRole, v);
^
qqmllistmodel.cpp:1077:13: note: here
case ListLayout::Role::VariantMap:
^~~~
Change-Id: Ica9894dc9b5e48278fd4fffd14bb35efd18a8a6e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|/
|
|
|
| |
Change-Id: I04122218499733856136f5a49b72707a0e8885e5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
| |
Neither signal close nor slot doClose exist.
This fixes a "QObject::connect: No such signal MainWindow::close()"
warning.
Change-Id: Ie634e42b3f73ac0e6c42b795c7071e6275286b28
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
| |
Now that the oterh QJSValue benchmark is fixed (yes, there were two
benchmarks with the same name), this benchmark is superfluous.
Change-Id: I39a7f9cc79dccef8aac3d4c3999a3d75e1b1aa3d
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
|
|
|
|
| |
The benchmark added the tst_QJSValue instance driving the benchmark to
the engine, which then takes over ownership. This would result in a
use-after-free, leading to a crash.
Change-Id: I524445487a1dabb3fb3fbbfb7fca084f7736c124
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
| |
Change-Id: Iad67b9719fe6336b8dfc28de2e88463c588a0849
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
- Remove unused license files
- Switch old LGPLv21 license headers with GPL-EXCEPT one
Task-number: QTBUG-57147
Change-Id: Ib59c3e2e39bfe0038db795af85dc75028564efa3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
|
|
|
|
|
|
| |
Use the global strings instead.
Change-Id: Ia43045ca3f40e80d44956cf8e38511cfc4c8a8bb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
When generating instructions for pointer arithmetic, do use the 64-bit
registers, otherwise for example when loading pointers we'll end up only
loading the lower 32 bits.
Task-number: QTBUG-60441
Change-Id: I2c7c82964029e383afcadabc078842690d2d637a
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
| |
Change-Id: I8a725018a5aeb39df370f856cd77d887faa511e3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ieaf45a817d4568bd2cd7c3cbbfee62435c2e2594
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|