| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This can be reverted as soon as the relevant qtlocation change is
integrated.
Task-number: QTBUG-57253
Change-Id: I72b71f61ba8fe421ac57c963801176098fe9f11c
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since I362e1cb8e10 the batch renderer defaults to
QSG_SEPARATE_INDEX_BUFFER which broke the batches visualization
Change-Id: If1d51cabb0cc4a3a98ac2c01bd78789d08fe72f7
Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Listing important changes and bug-fixes.
Change-Id: I75a18908315ea28cb669bc009cb55e7defd18a8d
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There's no need to iterate over all internal classes, as
prototype changes always happen in the first or second
level of the tree.
Change-Id: I99bf11a6cd238286c1547922d61ab47319b6eb97
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure we have at least 2 slots for inline storage available
for regular JS objects. Speeds up JS execution quite a bit, while
still keeping memory consumption low for most other cases.
Change-Id: I01824d8db1ffd828c1c1b6a9cbcf9bf1a9070ec3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Inline the version taking an identifier, and use that one where
it makes sense.
Change-Id: I414c5999e61cdba219ecd1080957f3037dfebc1b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1f4f4aaad0c8194bce2ebde4503df38cab0990a2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This saves another pointer on all Objects.
Currently introduces a slight performance regression
on some of the v8 benchmarks, that needs addressing.
Change-Id: I87de8e1d198d2683f4e903c467ce2a60ba542243
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
And do not store the vtable in Heap::Base anymore. This change
makes the internal class the main distinguishing feature
of all garbage collected objects.
It also saves one pointer on all Objects. No measurable
impact on runtime performance.
Change-Id: I040a28b7581b993f1886b5219e279173dfa567e8
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Prepare for moving the vtable pointer into the internalClass.
This adds the required infrastructure to InternalClass, so it
can store a vtable pointer and properly handles vtable changes.
Change-Id: I688fee1647268dd185d0f9636ab5b3390465daca
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I3f6ae59d01c7b6c898e98d3b6f65b84a19b8851a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I43ddcb4842e501cbea8a950ab6ffa2d906014efd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
And store them in an enumerated array. This will simplify
upcoming changes.
Change-Id: I82eac03b9f6264843ae625e36e150464fe08be9d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Idf87618e4ebff99f3b3c269c950191d67a0182b2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I5d1e0d2251e04cc871f9c298849aafac17f23fbf
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't store the current context in Moth's run() method, instead
always retrieve it through the engine.
Change-Id: I9d56f2c93a02fc1e2f03839b14b3c0053d60b6b2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|